Dou*_*rop 9 java scope anonymous-class
"你为什么要这样做呢?" 尽管如此,有没有办法在不更改最终方法参数名称的情况下完成此操作?
private Foo createAnonymousFoo(final Bar bar) {
return new Foo() {
private Bar bar = SomeUnknownScopeQualifier.bar;
public Bar getBar() {
return bar;
}
public void doSomethingThatReassignsBar() {
bar = bar.createSomeDerivedInstanceOfBar();
}
};
}
Run Code Online (Sandbox Code Playgroud)
显然没有doSomethingThatReassignsBar调用,你就不需要成员Bar等等.在这种情况下,简单的修复是改变final Bar bar为类似的东西final Bar startBar然后分配是好的.但出于好奇,是否可以专门提及final Bar(类似于你想说的方式Super.this)?