Sobes.tech
Middle

Jaké objekty znáte v Kotlinu a jak jsou kompilovány?

sobes.tech AI

Odpověď od AI

  • Třídové datové třídy: automaticky generují equals(), hashCode(), toString(), copy() a další užitečné metody. Překládají se do běžných tříd s přepsanými metodami.
  • Enumy: představují pevně stanovenou sadu konstant. Překládají se do tříd s statickými poli pro každý prvek.
  • Uzavřené třídy: umožňují definovat omezenou hierarchii tříd. Překládají se do běžných tříd s privátním konstruktorem a statickými instancemi pro každou podtřídu ve stejném souboru.
  • Objekty: Singleton objekty. Překládají se do třídy se statickým polem instance a statickým inicializátorem.

Příklad Object v Kotlin:

object MySingleton {
    fun doSomething() {
        // Nějaká logika
    }
}

Kompilace do Java:

public final class MySingleton {
    public static final MySingleton INSTANCE;

    private MySingleton() {
    }

    public final void doSomething() {
        // Nějaká logika
    }

    static {
        INSTANCE = new MySingleton();
    }
}