「なぜあなたはこれをしているのですか?あなたの何が悪いのですか?」それにもかかわらず、最終的なメソッドパラメータ名を変更せずにこれを達成する方法はありますか?
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
)を具体的に参照することは可能ですか?