Где используется object в Kotlin

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

Ответ

В Kotlin object используется для создания синглтонов, анонимных объектов и компаньонов:

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