int -> 属性必须初始化或抽象



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

这些都是不同的东西,所以想想在这里该选择什么…