Android Studio 3.6
在Kotlin我尝试这个:
private var tableNumber: Int
但是得到编译错误:
Property must be initialized or be abstract
这个属性我稍后会初始化。我无法使用lateinit
,因为我遇到另一个错误:
'lateinit' modifier is not allowed on properties of primitive types
要么你必须像一样直接初始化它
private var tableNumber: Int = 0
或者,如果你想检查值是否已经设置,你可以将其设置为可选(仍然需要初始化它(:
private var tableNumber: Int? = null
把它抽象化是没有意义的。
您必须使用默认值初始化属性,如
private var tableNumber: Int = 0
或者使其抽象
private abstract var tableNumber: Int
这些都是不同的东西,所以想想在这里该选择什么…