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