从 Java 匿名类访问“ this”

根据以下守则:

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.
}
};
}
}

我想从我的匿名类的 select()方法中访问 Container.select()。但是,this.select()将再次调用匿名类的 select()方法。

我的建议是:

在 Container 中引入一个字段,例如。

private Container self = this;

现在我可以通过在匿名类中调用 self.select()来访问 Container.select()

这样合理吗? 还是有更好的办法?

41581 次浏览
Container.this.select();

您可以编写 Container.this.select()来区别于内部类!