什么相当于Kotlin的static initialisation block?
我知道Kotlin的设计不会产生静电。我正在寻找具有等效语义的东西 - 代码在首次加载类时运行一次。
我的具体用例是我想从Android AppCompat库中启用DayNight功能,the instructions说要将一些代码放在Application
类的静态初始化块中。
从某些角度来看,Kotlin中的companion object
s等同于Java类的静态部分。特别是,它们在第一次使用之前初始化,这使得您可以使用它们的init
块作为Java静态初始化器的替代:
class C {
companion object {
init {
//here goes static initializer code
}
}
}
companion object {
// Example for a static variable
internal var REQUEST_CODE: Int? = 500
// Example for a static method
fun callToCheck(value: String): String {
// your code
}
}
可以使用companion关键字标记类中的对象声明。在此下我们可以使用类似java静态方法和variable.LIke classname.methodname或classname.variablename