Middle
What objects do you know in Kotlin and how are they compiled?
sobes.tech AI
Answer from AI
- Data classes: automatically generate
equals(),hashCode(),toString(),copy(), and other useful methods. They are compiled into regular classes with overridden methods. - Enums: represent a fixed set of constants. They compile into classes with static fields for each element.
- Sealed classes: allow defining a restricted class hierarchy. They compile into regular classes with a private constructor and static instances for each subclass in the same file.
- Objects: Singleton objects. They compile into a class with a static instance field and a static initializer.
Example of Object in Kotlin:
object MySingleton {
fun doSomething() {
// Some logic
}
}
Compilation into Java:
public final class MySingleton {
public static final MySingleton INSTANCE;
private MySingleton() {
}
public final void doSomething() {
// Some logic
}
static {
INSTANCE = new MySingleton();
}
}