“你为什么这样做有什么不妥吗?” 尽管如此,有没有办法做到这一点不改变最终的方法参数的名字吗?
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电话,你就不需要杆件等。 在这种情况下,简单的解决方法就是改变final Bar bar
喜欢的东西final Bar startBar
然后分配是好的。 但出于好奇,是有可能专指final Bar
(你会说的方式类似Super.this
)?