Ответ
Ключевое слово object в Kotlin используется для создания синглтона (объекта с единственным экземпляром) или анонимного объекта (объекта без имени).
1. Singleton:
object DatabaseHelper {
fun connect() { /* ... */ }
}
Использование:
DatabaseHelper.connect() // Доступ к единственному экземпляру
2. Анонимный объект (замена Java-анонимных классов):
val listener = object : View.OnClickListener {
override fun onClick(v: View?) { /* ... */ }
}
3. Companion Object:
Аналог статических методов/полей в Java:
class MyClass {
companion object {
const val TAG = "MyClass"
}
}
Использование: MyClass.TAG.
Объекты инициализируются лениво (при первом обращении) и потокобезопасны.