JavaではInnerクラスを名前を付けずに定義することができます。これを「匿名クラス」と呼びます。
また、Interfaceのメソッドが1つの時に限り、下記の様にラムダ式を使うことで簡易的に実装することが出来ます。
ラムダ式はInterfaceのメソッドが2つ以上では実装できない(コンパイルエラー)ので注意してください。
Interfaceで、メソッドを1つであることを保ちたい場合は下記のように「@FunctionalInterface」というアノテーションを使用します。
このアノテーションはInterfaceに2つ以上メソッドがあるとコンパイルエラーになります。
関数型Interfaceは標準で下記のものがあります。
コメント