Sobes.tech
Middle

Ce obiecte cunoști în Kotlin și cum sunt compilate?

sobes.tech AI

Răspuns de la AI

  • Clasele de date: generează automat equals(), hashCode(), toString(), copy() și alte metode utile. Se compilează în clase obișnuite cu metode suprascrise.
  • Enumurile: reprezintă un set fix de constante. Se compilează în clase cu câmpuri statice pentru fiecare element.
  • Clasele sigilate: permit definirea unei ierarhii limitate de clase. Se compilează în clase obișnuite cu un constructor privat și instanțe statice pentru fiecare subclasă în același fișier.
  • Obiecte: Obiecte Singleton. Se compilează într-o clasă cu un câmp de instanță static și un inițializator static.

Exemplu de Object în Kotlin:

object MySingleton {
    fun doSomething() {
        // Logică
    }
}

Compilare în Java:

public final class MySingleton {
    public static final MySingleton INSTANCE;

    private MySingleton() {
    }

    public final void doSomething() {
        // Logică
    }

    static {
        INSTANCE = new MySingleton();
    }
}