Sobes.tech
Junior
141

Ce sunt clasele anonime și unde sunt utilizate?

Răspuns de la AI

sobes.tech AI

O clasă anonimă este o clasă internă locală fără nume.

  • Aplicații:

    • La crearea ascultătorilor de evenimente în aplicații GUI (de exemplu, pentru butoane).
    • Pentru implementarea interfețelor sau extinderea claselor abstracte "la fața locului", atunci când este necesară doar o singură instanță și utilizarea acesteia este locală.
    • În programarea multi-thread pentru crearea de instanțe Runnable sau Callable.
  • Avantaje:

    • Reduc codul atunci când nu este necesară reutilizarea clasei.
    • Simplifică citirea codului pentru implementări simple și de unică folosință.
  • Dezavantaje:

    • Pot face codul mai greu de citit pentru implementări complexe.
    • Nu pot fi reutilizate.
    • Accesul la câmpurile clasei externe se face doar prin variabile final sau efectiv finale în versiunile mai vechi de Java.
// Exemplu de utilizare a unei clase anonime pentru Runnable
Runnable myRunnable = new Runnable() {
    @Override
    public void run() {
        System.out.println("Executare într-un fir de execuție anonim.");
    }
};

new Thread(myRunnable).start();
// Exemplu de utilizare a unei clase anonime pentru un ascultător de evenimente (hipotetic)
// Unele framework-uri UI folosesc această abordare.
//button.setOnAction(new EventHandler<ActionEvent>() {
//    @Override
//    public void handle(ActionEvent event) {
//        System.out.println("Buton apăsat!");
//    }
//});