给定以下代码:
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()
方法。
这是一个合理的方式吗?还有其他更好的方式吗?
this
关键字也可以像方法和属性一样进行区分。+1 - logo_writer