Все виды использования object
Объявление объекта (Object Declaration)
object Singleton {
fun doSomething() {
println("Singleton object is doing something")
}
}
Анонимные классы
val obj = object : SomeInterface {
override fun doSomething() {
println("Doing something anonymously")
}
}
Объекты выражений
Это создает объект, который не наследуется от какого-либо класса или интерфейса. Используется для создания локальных объектов, когда не требуется наследование.
val obj = object {
val x = 10
val y = 20
}
Объектные выражения в качестве аргументов (Object Expressions as Arguments)
fun someFunction(callback: SomeInterface) {
// implementation
}
someFunction(object : SomeInterface {
override fun doSomething() {
println("Doing something in someFunction")
}
})