Middle
Jakie obiekty znasz w Kotlinie i jak są kompilowane?
sobes.tech AI
Odpowiedź od AI
- Klasy danych: automatycznie generują
equals(),hashCode(),toString(),copy()i inne przydatne metody. Kompilują się do zwykłych klas z nadpisanymi metodami. - Enumy: reprezentują stały zestaw stałych. Kompilują się do klas z polami statycznymi dla każdego elementu.
- Klasy zamknięte: pozwalają zdefiniować ograniczoną hierarchię klas. Kompilują się do zwykłych klas z prywatnym konstruktorem i statycznymi instancjami dla każdego podklasy w tym samym pliku.
- Obiekty: obiekty Singleton. Kompilują się do klasy z polem instancji statycznej i statycznym inicjalizatorem.
Przykład Object w Kotlin:
object MySingleton {
fun doSomething() {
// Logika
}
}
Kompilacja do Java:
public final class MySingleton {
public static final MySingleton INSTANCE;
private MySingleton() {
}
public final void doSomething() {
// Logika
}
static {
INSTANCE = new MySingleton();
}
}