【发布时间】:2017-01-03 09:56:44
【问题描述】:
为什么我需要使用返回常量的自定义 getter 来初始化 var?
var greeting: String // Property must be initialized
get() = "hello"
当我将greeting设为只读(val)时,我不需要初始化
【问题讨论】:
-
那你为什么不把它变成
val呢?每个具有支持字段的可变属性都需要初始化。 -
@miensol 同意,这应该是
val。我自己也很困惑;混淆的根源在于将val/var的区别视为常量与变量,而不是只读与可变。
标签: kotlin