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中使用,遞歸死循環。
