Middle
Welke objecten ken je in Kotlin en hoe worden ze gecompileerd?
sobes.tech AI
Antwoord van AI
- Data klassen: genereren automatisch
equals(),hashCode(),toString(),copy()en andere nuttige methoden. Ze worden gecompileerd naar gewone klassen met overschreven methoden. - Enums: vertegenwoordigen een vaste set constanten. Ze worden gecompileerd naar klassen met statische velden voor elk element.
- Gesloten klassen: stellen je in staat om een beperkte hiërarchie van klassen te definiëren. Ze worden gecompileerd naar gewone klassen met een privé-constructeur en statische instanties voor elke subclass in hetzelfde bestand.
- Objecten: Singleton-objecten. Ze worden gecompileerd naar een klasse met een statisch instantieveld en een statische initializer.
Voorbeeld van Object in Kotlin:
object MySingleton {
fun doSomething() {
// Wat logica
}
}
Compilatie naar Java:
public final class MySingleton {
public static final MySingleton INSTANCE;
private MySingleton() {
}
public final void doSomething() {
// Wat logica
}
static {
INSTANCE = new MySingleton();
}
}