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