Junior
Cosa sono le classi anonime e dove vengono applicate?
sobes.tech AI
Risposta dell'AI
Una classe anonima è una classe interna locale senza nome.
-
Applicazioni:
- Creazione di ascoltatori di eventi nelle applicazioni GUI (ad esempio, per i pulsanti).
- Per implementare interfacce o estendere classi astratte "sul posto", quando è necessaria solo un'istanza e il suo utilizzo è locale.
- In programmazione multithread per creare istanze di
RunnableoCallable.
-
Vantaggi:
- Riduce la quantità di codice quando non è richiesta la riutilizzabilità della classe.
- Semplifica la lettura del codice per implementazioni semplici e usa e getta.
-
Svantaggi:
- Può rendere il codice meno leggibile per implementazioni complesse.
- Non può essere riutilizzata.
- L'accesso ai campi della classe esterna avviene solo tramite variabili
finalo effettivamente finali nelle vecchie versioni di Java.
// Esempio di utilizzo di una classe anonima per Runnable
Runnable myRunnable = new Runnable() {
@Override
public void run() {
System.out.println("Esecuzione in un thread di classe anonima.");
}
};
new Thread(myRunnable).start();
// Esempio di utilizzo di una classe anonima per un ascoltatore di eventi (ipotetico)
// Alcuni framework UI usano questo approccio.
//button.setOnAction(new EventHandler<ActionEvent>() {
// @Override
// public void handle(ActionEvent event) {
// System.out.println("Pulsante cliccato!");
// }
//});