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

Что такое объект и объект-компаньон в Kotlin?

Sobes Copilot

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

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

sobes.tech AI

Объект в Kotlin — это способ создания синглтона. Он объявляется с использованием ключевого слова object и является единственным экземпляром класса, который инициализируется при первом обращении.

object Singleton {
    fun doSomething() {
        // Логика синглтона
    }
}

Объект-компаньон (companion object) привязан к классу и используется для объявления статических элементов (полей и методов), доступных по имени класса. Можно иметь только один объект-компаньон на класс. Он инициализируется при загрузке класса.

class MyClass {
    companion object {
        const val CONSTANT = 123 // Статическая константа
        fun staticMethod() { // Статический метод
            // Логика статического метода
        }
    }
}

// Использование статических элементов
val constantValue = MyClass.CONSTANT
MyClass.staticMethod()

Сравнение:

Свойство Объект (object) Объект-компаньон (companion object)
Назначение Синглтон (единственный экземпляр) Статические элементы класса (поля, методы)
Доступ По имени объекта По имени класса
Количество на класс Не связан с классом (может быть самостоятельным) Один на класс
Инициализация При первом обращении к объекту При загрузке класса