美文网首页
Kotlin之类和属性

Kotlin之类和属性

作者: 满天星爱我 | 来源:发表于2019-01-03 11:37 被阅读0次

属性

在类中,声明属性和变量是一样的,使用valvar关键字,声明成val的属性是只读的,而var属性是可变的

class Person{
    val name:String = "满天星"//只读属性,生成一个字段和一个简单的getter
    var age:Int = 20//可写属性,一个字段、一个getter和一个setter
}

另外:

  • 使用val声明属性,kotlin会把属性的getter方法暴露给java;
  • 使用var声明属性,kotlin会把属性的getter和setter方法都暴露给java
  • Kotlin也可以使用java的Person类,并且如果Java类定义了两个名称为 getName和setName的方法,就把它们当做名称为name的属性访问

调用构造方法不需要关键字new,可以直接访问属性,但其实调用的是getter方法

fun testPerson() {
    val person = Person("康栋普", 25)
    person.age = 26
    println("name: ${person.name}" + "\n" + "age: ${person.age}")
    }

自定义访问器

假如声明一个矩形,它能判断自己是否为正方形,不需要单独的字段来存储这个值,而是随时可以通过检查矩形的长度是否相等来判断,
属性isSquare不需要字段来保存它的值,它只有一个自定义实现的getter

class Rectangle(val width: Int, val height: Int) {
    val isSquare:Boolean
    get() {
        return width == height
    }
}

更简洁的写法可以不使用带花括号的完整语法

class Rectangle(val width: Int, val height: Int) {
    val isSquare: Boolean get() = width == height
}

相关文章

  • Kotlin之类和属性

    属性 在类中,声明属性和变量是一样的,使用val和var关键字,声明成val的属性是只读的,而var属性是可变的 ...

  • Kotlin学习目录

    Kotlin学习目录 一、Kotlin学习之函数和变量二、Kotlin学习之类和属性三、Kotlin学习之枚举和W...

  • 二、Kotlin学习之类和属性

    一、类 在java中写一个JavaBean类代码比较多 但是上面的java代码在kotlin中一行就可以搞定 这种...

  • Kotlin学习之基础语法

    写在前面的:1,Kotlin学习之基础语法2,Kotlin学习之类和继承3,Kotlin学习之属性和字段4,Kot...

  • Kotlin之类和函数

    类和函数 Kotlin中的类遵循一个简单的结构。尽管与Java有一点细微的差别。你可以使用try.kotlinla...

  • kotlin入门潜修之类和对象篇—属性和字段

    本文收录于 kotlin入门潜修专题系列,欢迎学习交流。 创作不易,如有转载,还请备注。 属性的定义 我们都知道在...

  • Kotlin的属性和字段

    Kotlin的属性相当于Java的字段再加上getter和setter方法。 一、读写属性和只读属性 Kotlin...

  • 【Kotlin从入门到深坑】之类的属性和字段

    简介 本篇博客主要是介绍Kotlin语法中的【类的属性和字段】相关的知识,帮助各位更快的掌握Kotlin,如果有疏...

  • Kotlin学习之类和继承

    今天开始kotlin学习的第二篇:类和继承1,构造函数Kotlin中的类有一个主构造函数,一个或多个次构造函数,主...

  • Kotlin之类、对象和接口

    Kotlin的类和接口与Java的类和接口是有一定的区别的。Kotlin的接口是可以包含属性声明。Kotlin默认...

网友评论

      本文标题:Kotlin之类和属性

      本文链接:https://www.haomeiwen.com/subject/ymkfrqtx.html