Middle
Koje objekte poznajete u Kotlinu i kako se kompajliraju?
sobes.tech АИ
Одговор од АИ
- Класе за податке: аутоматски генеришу
equals(),hashCode(),toString(),copy()и друге корисне методе. Компилирају се у обичне класе са преоптерећеним методама. - Енум: представљају фиксован скуп константи. Компилирају се у класе са статичким пољима за сваки елемент.
- Затворене класе: омогућавају дефинисање ограничене хијерархије класа. Компилирају се у обичне класе са приватним конструктором и статичким примерцима за сваку подкласу у истом фајлу.
- Објекти: Singleton објекти. Компилирају се у класу са статичким пољем примерка и статичким иницијализатором.
Пример Object у Kotlin:
object MySingleton {
fun doSomething() {
// Нека логика
}
}
Компилација у Јави:
public final class MySingleton {
public static final MySingleton INSTANCE;
private MySingleton() {
}
public final void doSomething() {
// Нека логика
}
static {
INSTANCE = new MySingleton();
}
}