Kotlin中的静态初始化块
Kotlin中的静态初始化块相当于什么?
我明白,Kotlin被设计成没有静态的东西。 我正在寻找具有同等语义的东西 – 代码在第一次加载时运行一次。
我的具体使用情况是,我想从Android AppCompat库启用DayNight功能,并说明将一些代码放在Application
类的静态初始化块中。
从某种角度来看,Kotlin中的companion object
相当于Java类的静态部分。 特别是,它们在类的第一次使用之前被初始化,这使得你可以使用它们的init
块代替Java静态初始化程序:
class C { companion object { init { //here goes static initializer code } } }