Aşağıdaki kod verildiğinde:
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.
}
};
}
}
Container.select()
Anonim sınıfımın select()
yönteminden erişmek istiyorum . Ancak this.select()
yine anonim sınıfın select()
yöntemini çağırır .
Benim önerim:
Kapsayıcıya bir alan yerleştirin, ör.
private Container self = this;
Artık anonim sınıfın içinden Container.select()
arayarak erişebiliyorum self.select()
.
Bu makul bir yol mu? Yoksa daha iyi bir yol var mı?
this
Anahtar kelimeler bile yöntemler ve öznitelikler gibi ayırt edilebilir bilmiyordum . +1