Ответ
Обычный object в Kotlin — это синглтон, который создаётся при первом доступе и существует в единственном экземпляре. Используется для хранения общих данных или реализации паттерна Singleton.
Пример:
object DatabaseHelper {
fun query(query: String) { /* ... */ }
}
// Использование
DatabaseHelper.query("SELECT * FROM users")
Особенности:
- Потокобезопасен (инициализация ленивая и thread-safe)
- Не может иметь конструктора
- Может наследоваться от классов/интерфейсов
Отличие от companion object: обычный object существует независимо, а companion привязан к классу.