Для чего нужно ключевое слово object

«Для чего нужно ключевое слово object» — вопрос из категории Kotlin, который задают на 23% собеседований Android Разработчик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

Ключевое слово object в Kotlin используется для создания:

  1. Singleton – объект с единственным экземпляром:
    object DatabaseHelper {
        fun queryData() { ... }
    }
    // Использование: DatabaseHelper.queryData()
  1. Companion Object – аналог статики в Java, но с доступом к приватным членам класса:
    class MyClass {
        companion object {
            const val TAG = "MyClass"
        }
    }
  1. Анонимные объекты (замена анонимных классов Java):
    val listener = object : View.OnClickListener {
        override fun onClick(v: View?) { ... }
    }

Объекты потокобезопасны (инициализируются лениво и thread-safe).