考虑以下类(class):
class Test() {
init {
log(foo)
}
val foo = "Bar"
}
当我无效化Test时,它会生成NullPointerException,因为foo似乎没有初始化。这种行为实际上是故意的吗?有解决方法吗?
最佳答案
类的主体从上到下执行。如果要在属性初始化后运行某些代码,则应将其放在下面:
class Test() {
val foo = "Bar"
init {
log(foo)
}
}
关于properties - Kotlin:如何访问构造函数中的属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26466969/