二、Kotlin学习之类和属性

一、类 在java中写一个JavaBean类代码比较多

public class Person { private final String name; public PersonJava(String name) { this.name = name; }public String getName() { return name; } }

但是上面的java代码在kotlin中一行就可以搞定
class Person(val name: String)

这种类(只有数据没有其他代码)通常被叫做值对象
kotlin中public是默认可见性,所以可以省略。
public class Person(var name: String)

二、属性 当你声明属性的时候,就声明了对应的访问器(var属性既有getter和setter,到那时val属性只有getter)
class Person(var name: String, val age: Int)fun main() { var person = Person("lynnlee", 30)//创建对象不需要关键字new println(person.name)//可以直接访问属性,但调用的是getter println(person.age) person.name = "temo"//可以直接修改属性,但调用的是setter println(person.name)//打印结果temo }

【二、Kotlin学习之类和属性】自定义访问器
声明一个矩形类,判断是否为正方形。自定义isSquare的getter访问器
fun main() { val rectangle = Rectangle(20,20) println(rectangle.isSquare) }class Rectangle(val width: Int, val height: Int) { var isSquare: Boolean = false//必须初始化 get() {//声明属性的getter return width == height } }

    推荐阅读