延迟属性:lazy,可观察属性:Delegates.observable()
- lazy:在属性第一次调用时赋值,执行域内内容。
- observable(…):括号内为初始赋值,在值被替换时,执行域内内容
fun main(){
// 延迟属性:lazy
val name by lazy{
println("Hello")
"World"
}
println(name)
println(name)
// 可观察属性:Delegates.observable():
var age by Delegates.observable(2){
property, oldValue, newValue ->
println("$oldValue -> $newValue")
}
println(age)
age=3
age=4
}