Compara in classe anonima

di il
1 risposte

Compara in classe anonima

Salve, mi servirebbe capire come trasformare una classe compara in una classe anonima.

1 Risposte

  • Re: Compara in classe anonima

    GiuseppeFFar ha scritto:


    Salve, mi servirebbe capire come trasformare una classe compara in una classe anonima.
    Detto ed esposto così, il problema non è molto comprensibile ....

    Comunque, una classe "anonima" è un tipo particolare di classe con delle regole (e restrizioni) particolari e dove in pratica il punto di definizione e il punto di istanziazione sostanzialmente coincidono.
    public class TuaClasse { ....... }
    // istanziazione normale
    TuaClasse c = new TuaClasse();
    
    // istanziazione classe "anonima"
    TuaClasse c = new TuaClasse() {
        ... metodi ....
    };
    Si dice "anomima" perché l'oggetto istanziato è di una SOTTO-classe di TuaClasse, il cui nome è appunto generato dal compilatore e non è noto nel sorgente.
    Per questo motivo, le classi anonime si usano tipicamente solo per fare override di uno o più metodi (estendendo una classe O implementando una interfaccia).

    Non ha senso mettere metodi "nuovi" (in più) rispetto al tipo che estendi/implementi perché non li potresti invocare, non avendo in mano il tipo esatto della classe anonima. A meno che ... assegni ad una variabile locale dichiarata con var (Java 10+), che "cattura" esattamente il tipo della classe anonima.
Devi accedere o registrarti per scrivere nel forum
1 risposte