Ho visto un paio di esempi simili a questo in Java e spero che qualcuno possa spiegare cosa sta succedendo. Sembra che una nuova classe possa essere definita in linea, il che mi sembra davvero strano. È prevista la prima riga di stampa, poiché è semplicemente la toString. Tuttavia il secondo sembra che la funzione possa essere sovrascritta in linea. Esiste un termine tecnico per questo? O qualsiasi documentazione che approfondisce? Grazie!Java - definizione classe inline
Se ho il seguente codice:
public class Apple {
public String toString() {
return "original apple";
}
}
public class Driver {
public static void main(String[] args) {
System.out.println("first: " + new Apple());
System.out.println("second: " +
new Apple() {
public String toString() {
return "modified apple";
}
}
);
}
}
Le uscite di codice:
first: original apple
second: modified apple
Grazie a tutti! Andrò a leggere su questo! –
Voglio solo aggiungere che il valore "this" nel metodo onClick fa riferimento all'istanza Button, se si desidera fare riferimento all'istanza di Esempio all'interno del metodo onClick, è possibile utilizzare "Example.this". Le classi interne statiche però non hanno questo riferimento. – Hoffmann