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
RunnablesauCallable.
-
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
finalsau 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!");
// }
//});