Junior
What is the 'object' expression in Kotlin and how can it be used?
sobes.tech AI
Answer from AI
object in Kotlin is used for creating singletons, anonymous objects, and companion objects.
Singletons:
Creating a single instance of a class:
object DatabaseManager {
fun connect() {
// Connection logic
}
}
Usage:
DatabaseManager.connect()
Anonymous objects:
Creating an object "on the fly" that can implement interfaces or inherit from classes. Often used for event listeners.
interface ClickListener {
fun onClick()
}
fun setupButton(listener: ClickListener) {
// Setting up button with listener
}
fun main() {
setupButton(object : ClickListener {
override fun onClick() {
println("Button clicked!")
}
})
}
Anonymous objects have access to variables from the enclosing scope if they are final (or effectively final in Kotlin).
Companion objects:
Similar to static members in Java. Declared inside a class.
class MyClass {
companion object {
const val TAG = "MyClass"
fun create(): MyClass {
return MyClass()
}
}
}
Usage:
println(MyClass.TAG)
val instance = MyClass.create()
Companion objects can have names and even implement interfaces.