Sobes.tech
Назад к вопросам
Junior — Middle
74

Какие альтернативные конструкции или ключевые слова, выполняющие функцию static в Java, использует Kotlin?

Компании, где спрашивали
АВ Софт

Ответ от нейросети

sobes.tech AI

В Kotlin нет ключевого слова static, как в Java. Вместо этого используются следующие конструкции для создания членов, похожих на статические:

  • companion object — объект-компаньон внутри класса, члены которого можно вызывать без создания экземпляра класса. По сути, это аналог статических методов и полей.
class MyClass {
    companion object {
        const val CONSTANT = 42
        fun staticLikeMethod() = println("Hello from companion object")
    }
}

fun main() {
    println(MyClass.CONSTANT)
    MyClass.staticLikeMethod()
}
  • top-level функции и свойства — функции и переменные, объявленные вне класса, доступны напрямую по имени файла или через импорт, что часто заменяет статические методы.

  • object declaration — объявление объекта (синглтона), который может содержать функции и свойства, доступные глобально.

Таким образом, companion object — основной способ эмулировать static в Kotlin.