読者です 読者をやめる 読者になる 読者になる

匿名クラス

メソッド内で一時的に定義されたクラスの中でも、クラス名を持たないものを匿名クラスという・・・。

このようなBaseClassを定義しておく・・・。

BaseClassオブジェクトインスタンスbaseからmethodBaseClassを呼べば、"methodBaseClass"が出力されるだろう・・・。

匿名クラスはこのように定義し、同時にオブジェクトインスタンスも生成する・・・。
"new BaseClass"としているが、実際にはBaseClassを基底クラスとした派生クラスを生成するという意味で、そのクラスの定義は後ろの"{"と"};"の間にある・・・。
この新しく定義したクラスに名前はないため、匿名クラスという・・・。
定義には、オーバーライドするメソッドの定義を書くのが一般的・・・。
このメソッドを呼び出せるように、BaseClassのanonymousにインスタンスを格納する・・・。

anonymous.methodBaseClassを呼ぶと、実際には匿名クラスのmethodBaseClassが呼ばれ、"Anonymous"が出力される・・・。

methodBaseClass
Anonymous

このような一時的な定義は、ボタンのイベントハンドラなどで使われている・・・。

Sample/MainClass.java at master · bg1bgst333/Sample · GitHub
Sample/BaseClass.java at master · bg1bgst333/Sample · GitHub