我试图使用下面的代码知道何时在 Kotlin 中调用initblock object,但我在控制台中没有得到任何结果:
fun main(args: Array<String>) {
TestObj
TestObj
}
object TestObj {
var count = 0
init {
fun howManyTimes() {
println(++count)
}
}
}
Run Code Online (Sandbox Code Playgroud)
hta*_*oya 17
迪米特里的答案对于您的问题是正确的,但是您的具体问题的正确答案是:
如果是class实例化,则init在调用构造函数之前执行。
如果它是一个object,根据 Kotlin 文档,每当第一次调用(单例)对象时都会调用它,因为静态对象是延迟初始化的。
| 归档时间: |
|
| 查看次数: |
6776 次 |
| 最近记录: |