Middle
Jaké objekty znáte v Kotlinu a jak jsou kompilovány?
sobes.tech AI
Odpověď od AI
- Třídové datové třídy: automaticky generují
equals(),hashCode(),toString(),copy()a další užitečné metody. Překládají se do běžných tříd s přepsanými metodami. - Enumy: představují pevně stanovenou sadu konstant. Překládají se do tříd s statickými poli pro každý prvek.
- Uzavřené třídy: umožňují definovat omezenou hierarchii tříd. Překládají se do běžných tříd s privátním konstruktorem a statickými instancemi pro každou podtřídu ve stejném souboru.
- Objekty: Singleton objekty. Překládají se do třídy se statickým polem instance a statickým inicializátorem.
Příklad Object v Kotlin:
object MySingleton {
fun doSomething() {
// Nějaká logika
}
}
Kompilace do Java:
public final class MySingleton {
public static final MySingleton INSTANCE;
private MySingleton() {
}
public final void doSomething() {
// Nějaká logika
}
static {
INSTANCE = new MySingleton();
}
}