Javaでインナークラスからアウタークラスのインスタンスを取得する

もうなんども忘れてしまってその都度調べるので(しかも一般的な用語だし、関係もやや分かりにくいので、なかなか適切な検索語が思い浮かばない...)、ここでメモしておこうかな ^_^;。ほとんど使わないから忘れちゃうんですよね。

Java でプログラムをかいているときに、インナークラス(内部クラス)から外のクラスのインスタンスを使いたいときがあります。そういうときは「アウタークラス名.this」で OK です。以下、ありそうな例。
 
 
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
 
public class Outer extends JPanel{
  public Outer(){
    super();
  }
  private class Inner implements ActionListener{

    @Override
    public void actionPerformed(ActionEvent e) {
      JOptionPane.showMessageDialog(Outer.this, "Message.");
      // ↑ この 1 つめの引数の形
    }
  }
}