为什么当 class 继承了另一个打开的 class Android Kotlin 时 init 块不执行?

Why init block not executing when a class inherited another open class Android Kotlin?

我有这样的 BaseClass

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

ChildClass 像这样:

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

所以这样称呼它:

context?.let { ChildClass(it) }

但没有调用任何 init 函数。

println 控制台 中打印日志。要打印登录 logcat,您必须使用 Log.,例如:

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

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

context?.let { ChildClass(it) }