1.类定义属性 默认是public的。
2.var 一个变量,也是就是属性,自动生成set get方法。
3.val 常量,没有set方法。
4.
延迟初始化属性
对于非空类型的属性是必须初始化的。如果我们希望延迟进行初始化,就可以使用lateinit关键字了。
lateinit只能在不可null的对象上使用,比须为var,不能为primitives(Int、Float之类)。
public class MyTest{
lateinit var subject: TestSubject
@SetUp fun setup() {
subject = TestSubject()
}
@Test fun test() {
subject.method() // dereference directly
}
}
5.set get 写法。
class Person (name:String) {
var name: String = name
get() = field.toUpperCase()
set(value) {
field = value
}
}
不能用属性名在set中使用,递归死循环。