Kotlin 中的静态初始化块等效于什么?
我了解Kotlin的设计宗旨是不带静电。我正在寻找具有等效语义的东西-首次加载该类时,代码将运行一次。
我的特定用例是,我想从Android AppCompat库启用DayNight功能,并且说明要求将一些代码放入Application类的静态初始化块中。
Application
从某种角度看,Kotlin中的companion objects等同于Java类的静态部分。特别是,它们是在首次使用类之前初始化的,这使您可以使用它们的init块来代替Java静态初始化器:
companion object
init
class C { companion object { init { //here goes static initializer code } } }