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.