Sobes.tech
Middle

Quali oggetti conosci in Kotlin e come vengono compilati?

sobes.tech AI

Risposta dell'AI

  • Classi di dati: generano automaticamente equals(), hashCode(), toString(), copy() e altri metodi utili. Si compilano in classi normali con metodi sovrascritti.
  • Enum: rappresentano un insieme fisso di costanti. Si compilano in classi con campi statici per ogni elemento.
  • Classi sigillate: permettono di definire una gerarchia limitata di classi. Si compilano in classi normali con un costruttore privato e istanze statiche per ogni sottoclasse nello stesso file.
  • Oggetti: oggetti Singleton. Si compilano in una classe con un campo di istanza statico e un inizializzatore statico.

Esempio di Object in Kotlin:

object MySingleton {
    fun doSomething() {
        // Logica
    }
}

Compilazione in Java:

public final class MySingleton {
    public static final MySingleton INSTANCE;

    private MySingleton() {
    }

    public final void doSomething() {
        // Logica
    }

    static {
        INSTANCE = new MySingleton();
    }
}