Sobes.tech
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();
    }
}