为什么当一个类继承另一个开放类 Android Kotlin 时,初始化块不执行?



我有这样的BaseClass

open class BaseClass(private var context: Context) {
init{
println("BaseClass init called")
}
}  

儿童班是这样的:

class ChildClass(private var context: Context) : BaseClass(context) { 
init{
println("ChildClass init called")
}
} 

所以这样称呼它:

context?.let { ChildClass(it) }

但没有调用任何初始化函数。

println

控制台中打印日志。要在logcat中打印日志,您必须使用如下Log.

init{
//println("BaseClass init called")
Log.v("TAG", "BaseClass init called")
}

我认为您的上下文在此行中为空:

context?.let { ChildClass(it) }

最新更新