我试图知道何时使用以下代码在Kotlin中调用initobject块,但在控制台中没有任何结果:

fun main(args: Array<String>) {
    TestObj
    TestObj
}

object TestObj {
    var count = 0

    init {
        fun howManyTimes() {
            println(++count)
        }
    }
}

最佳答案

您没有在控制台中获得任何输出,因为您是在init块内声明函数,而不是调用它。

TestObj代码更改为:

object TestObj {

    var count = 0

    init {
        howManyTimes()
    }

    fun howManyTimes() {
        println(++count)
    }
}

10-06 03:30