javaの匿名クラスについて改めて調べる
匿名クラス = 無名クラス
以下が分かりやすかった
たとえば、Arraysクラスのsort()メソッドで「降順ソート」をしたい場合にComparatorインターフェイスの実装クラスを作る必要がある場合など、「他では使わず、その場でしか使わないサブクラスもしくは実装クラス」を作りたい場合がある。
このような、新しくちゃんとした形でクラスを作るのが面倒な場合に、匿名クラスを使用する。匿名クラスはその名の通り「名前がない」クラスであり、新しくファイルを作る必要がないなど、手軽に作れるというメリットがある。ただし、匿名クラスはちゃんとしたクラスではないため、メソッドを追加できず、また再利用がしにくい。
構文が複雑でかっこいいこと、ソースファイルを新規に作らなくて済むこと、といったメリットがあるが、普通のクラスを作ることのメリットの方が遙かに多く、コピー&ペーストの多用やプログラムが複雑になりやすいといったデメリットも多い。
匿名クラスの使用は控え、よほどの事がない限り普通のクラスを使用した方がいいだろう。