Sobes.tech
Junior

Co jsou to anonymní třídy a kde se používají?

sobes.tech AI

Odpověď od AI

Anonymní třída je místní vnitřní třída bez jména.

  • Použití:

    • Při vytváření posluchačů událostí v GUI aplikacích (například pro tlačítka).
    • Pro implementaci rozhraní nebo rozšíření abstraktních tříd "na místě", když je potřeba pouze jedna instance a její použití je lokální.
    • V multithreadingu pro vytváření instancí Runnable nebo Callable.
  • Výhody:

    • Zkracují množství kódu, když není potřeba opakované použití třídy.
    • Zjednodušují čtení kódu pro jednoduché, jednorázové implementace.
  • Nevýhody:

    • Mohou ztížit čitelnost kódu u složitých implementací.
    • Nelze je znovu použít.
    • Přístup k polím vnější třídy je možný pouze přes final nebo efektivně finalní proměnné v starších verzích Javy.
// Příklad použití anonymní třídy pro Runnable
Runnable myRunnable = new Runnable() {
    @Override
    public void run() {
        System.out.println("Běh v anonymním vlákně.");
    }
};

new Thread(myRunnable).start();
// Příklad použití anonymní třídy pro posluchače událostí (hypotetický)
// Některé UI frameworky používají takový přístup.
//button.setOnAction(new EventHandler<ActionEvent>() {
//    @Override
//    public void handle(ActionEvent event) {
//        System.out.println("Tlačítko bylo stisknuto!");
//    }
//});