> Что такое companion objects в Kotlin (Kotlin, Android)
Уровень: junior · Роль: mobile · Категория: Технические вопросы
Компании: ЛеруаМерлен, Ozon, Яндекс, Астра, IBS
Стек: Kotlin, Android
> Пример ответа
Companion object в Kotlin - это специальный объект, объявленный внутри класса с ключевым словом companion. Он позволяет определять члены (свойства и функции), которые принадлежат самому классу, а не его экземплярам, аналогично статическим членам в Java. Однако в Kotlin нет ключевого слова static - вместо этого используется механизм объектов-компаньонов.
Пример:
class MyClass { companion object { const val TAG = "MyClass" fun create(): MyClass = MyClass() } }
Здесь TAG и create() доступны через имя класса: MyClass.TAG или MyClass.create(). Компаньон может иметь имя (например, companion object Factory), но по умолчанию он называется Companion. Важно: companion object - это синглтон, связанный с классом, и он может реализовывать интерфейсы или наследоваться от других классов. На Android это часто используется для фабричных методов, констант (например, TAG для логирования) или для объявления Parcelable.Creator.
> Похожие задачи по mobile
Что такое reified в inline функциях Kotlin и зачем он нужен
Что такое тип Nothing в Kotlin и чем он отличается от Unit
Можно ли пометить лямбду как inline в Kotlin
В чем разница горячих и холодных потоков в Kotlin Flow
> ГОТОВЫ К СЛЕДУЮЩЕМУ СОБЕСЕДОВАНИЮ?
Запустите тренировочную сессию с ИИ и получите детальную обратную связь, чтобы увереннее проходить реальные интервью