“你为什么要这样做,你有什么问题吗?” 尽管如此,有没有办法在不更改最终方法参数名称的情况下完成此操作?
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();
}
};
}
显然,如果没有 doSomethingThatReassignsBar 调用,您将不需要成员 Bar 等。在这种情况下,简单的解决方法是更改final Bar bar
为类似final Bar startBar
的内容,然后分配就可以了。但是出于好奇,是否可以专门指final Bar
(类似于您所说的方式Super.this
)?