質問: JAVAを勉強している者です。説明が下手ですいませんが、「匿名クラス」って一体なんなんでしょうか?ネットや参考書みても「その場で使い捨てるクラス」と書いてあるんですが、そんな機能なんかメリットあるんですか? 私はまだ勉強不足だと思いますが、「匿名クラス」ってなんのメリットがあるのか、いまいちわかりません。 わかりやすいような例や例えで教えてくれませんか? できれば身近な例を挙げて教えてくれませんか? よろしくお願いします。
回答: JavaFXがタグについているのでGUIを使った話でも。 よく使うのは、ボタンをクリックしたときにどういう動作をさせるかを記述するときです。 例えばAndroidで、あるボタンをクリックしたときに画面下に文字を表示したい、というような場合、 ``` button.setOnClickListener(new View.OnClickListener(){ @Override public void onClick(View v){ Toast.makeText(this, "クリックしたよ", Toast.LENGTH_LONG).show(); } }); ``` のように書きます。こうすることで、「このボタンを押すと何が起こるのか」がすぐ近くに書いてあってわかりやすいというメリットがあります。 また匿名クラスを使わない場合、別のjavaファイルにそれ用のクラスを作ることになると思います。今は1個なのでそれほど問題ではないかもしれませんが、もしこれが100とか200とかになったとしたらどうします?どれがどのボタンに結びついているのかわからなくなってきませんか? 匿名クラスの場合、使い捨てなのでそんな配慮が不要になります。