Как сделать статическое поле в Kotlin

«Как сделать статическое поле в Kotlin» — вопрос из категории Kotlin, который задают на 23% собеседований Android Разработчик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

В Kotlin статическое поле можно создать с помощью ключевого слова companion object внутри класса. Для Java-совместимости можно добавить аннотацию @JvmStatic.

class MyClass {
    companion object {
        const val STATIC_FIELD = "Hello, Static!"

        @JvmStatic
        var staticCounter = 0
    }
}

Использование:

val value = MyClass.STATIC_FIELD
MyClass.staticCounter++

Для констант используйте const val, для изменяемых полей - @JvmStatic var/val. Это обеспечит доступ к полю как к статическому из Java-кода.