Sobes.tech
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 Runnable o Callable.
  • 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 final o 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!");
//    }
//});