Sobes.tech
Middle

Que objetos conhece em Kotlin e como eles são compilados?

sobes.tech IA

Resposta da IA

  • Classes de dados: geram automaticamente equals(), hashCode(), toString(), copy() e outros métodos úteis. Compilam-se em classes normais com métodos sobrescritos.
  • Enums: representam um conjunto fixo de constantes. Compilam-se em classes com campos estáticos para cada elemento.
  • Classes seladas: permitem definir uma hierarquia limitada de classes. Compilam-se em classes normais com um construtor privado e instâncias estáticas para cada subclasse no mesmo ficheiro.
  • Objetos: objetos Singleton. Compilam-se em uma classe com um campo de instância estático e um inicializador estático.

Exemplo de Object em Kotlin:

object MySingleton {
    fun doSomething() {
        // Lógica
    }
}

Compilação em Java:

public final class MySingleton {
    public static final MySingleton INSTANCE;

    private MySingleton() {
    }

    public final void doSomething() {
        // Lógica
    }

    static {
        INSTANCE = new MySingleton();
    }
}