Назад к вопросам
Junior
78
questionbank

Что такое companion object в Kotlin?

Sobes Copilot

Получайте ответы в реальном времени

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

sobes.tech AI

Объект, связанный с классом, содержащий статические члены (свойства и функции). Доступен по имени класса.

class MyClass {

    companion object {
        // Статическое свойство
        const val TAG = "MyClass"

        // Статическая функция
        fun create(): MyClass {
            return MyClass()
        }
    }
}

// Доступ к членам companion object
val instance = MyClass.create()
val className = MyClass.TAG

Основные применения:

  • Фабричные методы.
  • Константы.
  • Статические утилитарные функции.

Можно опустить ключевое слово companion, тогда объект будет называться Companion, но это редко используется. Может иметь имя, отличное от Companion. Реализует интерфейсы.