外部クラスから匿名の内部クラス内で定義された新しいメソッドにアクセスするための Java 構文はありますか? さまざまな回避策があることはわかっていますが、特別な構文が存在するのだろうか?
例えば
class Outer {
ActionListener listener = new ActionListener() {
@Override
void actionPerformed(ActionEvent e) {
// do something
}
// method is public so can be accessible
public void MyGloriousMethod() {
// viva!
}
};
public void Caller() {
listener.MyGloriousMethod(); // does not work!
}
}
私自身の解決策
すべてのメソッドとメンバーを外部クラスに移動しました。