Что эквивалентно блоку статической инициализации в Котлине?
Я понимаю, что в Kotlin нет статичных вещей. Я ищу что-то с эквивалентной семантикой - код запускается один раз при первой загрузке класса.
Мой конкретный вариант использования заключается в том, что я хочу включить функцию DayNight из библиотеки Android AppCompat, и в инструкциях говорится, что нужно поместить некоторый код в блок статической инициализации Application
класса.
java
static
kotlin
initializer
Марцин Козиньски
источник
источник
object
объявлением требует фактического использования его где-то из-за ленивой инициализации.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, так и переменную. LIke classname.methodname или classname.variablename
источник