"Зачем ты это делаешь, что с тобой не так?" тем не менее, есть ли способ сделать это без изменения имени конечного параметра метода?
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
)?