Kotlin中的静态初始化块

Kotlin中的静态初始化块相当于什么?

我明白,Kotlin被设计成没有静态的东西。 我正在寻找具有同等语义的东西 – 代码在第一次加载时运行一次。

我的具体使用情况是,我想从Android AppCompat库启用DayNight功能,并说明将一些代码放在Application类的静态初始化块中。

从某种角度来看,Kotlin中的companion object相当于Java类的静态部分。 特别是,它们在类的第一次使用之前被初始化,这使得你可以使用它们的init块代替Java静态初始化程序:

 class C { companion object { init { //here goes static initializer code } } } 
Interesting Posts