让我们上课如下:
class TestClass() {
val isInitialised : Boolean
init {
isInitialised = true
}
}
ValisInitialised
在init块中进行了初始化,并且编译器很高兴。一旦有更多val成员,我想将它们的初始化分组到一个方法中,并从init块中调用该方法,例如:
class TestClass() {
val isInitialised : Boolean
init {
setInitValue()
}
private fun setInitValue() {
isInitialised = true
}
}
在第二种情况下,我在构建Property must be initialized or be abstract
和时收到错误Val cannot be reassigned
。
有没有办法使用init块中的方法来初始化类的val成员?
不可以,但是您可以有多个初始化块,每个初始化块对应于您要使用的方法。
或者,您可以制作属性lateinit var
,但是
var
,而不是一个val
;本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句