public class Outer {
public void Say(Bar bar) {
//...
}
public Outer(final Foo foo) {
//...
}
}
public interface Foo {
void blah(Bar bar);
}
public class Application {
public static void main(String[] args) {
Outer outer = new Outer(new Foo() {
@Override
public void blah(Bar bar) {
/*trying to access "outer"*/.Say(bar);
}
});
}
}
我应该怎么做才能访问"外部"?
谢谢StackOverflow禁止我发布这篇文章,因为它说我的帖子主要是代码,而这一行只是胡说八道。请忽略它。
无法访问外部。由于实例是在创建Foo之后创建的。
我有两种看法:1.将外部变量转换为静态上下文。2.在调用方法blah((时移交变量
在您的示例中,"outer"只是"this">