从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()方法。 
我的build议是:
在Container中引入一个字段,例如
 private Container self = this; 
 现在我可以通过在匿名类中调用self.select()来访问Container.select() 。 
这是一个合理的方式? 还是有更好的办法?
 Container.this.select(); 
 您可以编写Container.this.select()以区别于内部类!