object в Kotlin используется для создания синглтонов, анонимных объектов и компаньонов объектов.
Синглтоны:
Создание единственного экземпляра класса:
kotlin
Использование:
kotlin
Анонимные объекты:
Создание объекта "на лету", который может реализовывать интерфейсы или наследоваться от класса. Часто используется для слушателей событий.
kotlin
Анонимные объекты имеют доступ к переменным из enclosing scope, если они final (или effectively final в Kotlin).
Компаньоны объектов (companion object):
Аналог статических членов в Java. Объявляется внутри класса.
kotlin
Использование:
kotlin
Компаньоны объектов могут иметь имена иDаже реализовывать интерфейсы.