Dato il seguente codice:
public interface Selectable {
public void select();
}
public class Container implements Selectable {
public void select() {
...
}
public void createAnonymousClass() {
Selectable s = new Selectable() {
public void select() {
//see comment below.
}
};
}
}
Voglio accedere Container.select()dal select()metodo della mia classe anonima . Tuttavia, this.select()chiamerebbe nuovamente il select()metodo della classe anonima .
Il mio suggerimento sarebbe:
Introdurre un campo nel contenitore, ad es
private Container self = this;
Ora posso accedere Container.select()chiamando self.select()dall'interno della classe anonima.
È un modo ragionevole? O ci sono modi migliori?
thisparole chiave potessero essere differenziate proprio come i metodi e gli attributi. +1