Kotlin基础学习-类和属性

    xiaoxiao2022-07-02  108

    我们先写一个Java中的一个简单的JavaBean类Student,只包含一个属性,name。

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

    而Kotlin中同样的类是这样的:

    class Student(val name: String)

    在Kotlin中public是默认的可见性,所以可以省略。这种只有数据没有其它代码的类,通常被叫做值对象,Kotlin提供了简明的

    语法来声明它们。


    在Java中,数据存储在字段中,通常是私有的,提供访问器方法:一个getter,可能还有一个setter,这种字段和其访问器的组合常常被叫作属性。

    在Kotlin中,属性是头等的语言特性,完全代替了字段和访问器方法。在类中声明一个属性和声明一个变量一样:使用val和var关键字。声明成val的属性是只读的,而var属性是可变的。

    class Student(val name: String, var age: String)

    上面的类中声明了一个只读属性name,可写属性age。使用Student类:

    val student = Stedent("Li", 16) println(student.name) println(studengt.age) >>>Li >>>16

    Kotlin找中可以直接使用属性,不在需要调用getter。

    当然Kotlin通用支持使用getter,这个时候需要自定义getter来计算出属性的值。

    class Rectangle(val height: Int, val width: Int) { val isSquare: Boolean get() { return height == width } } val re = Rectangle(22, 23) println(re.isSquare) >>>false

    属性isSquare有一个自定义实现的getter,它的值是每次访问属性的时候计算出来的。

    最新回复(0)