@FunctionalInterface

アノテーションの@FunctionalInterfaceを付けるとエラーチェックしてくれる。

Java関数型インターフェースメモ(Hishidama's Java8 Functional Interface Memo)

interfaceの定義としておかしい
interfaceの定義としておかしい

これは、そもそもinterfaceの定義としておかしいので、アノテーション関係なくエラー。

関数型インターフェースの条件を満たしていない
関数型インターフェースの条件を満たしていない

これは、関数型インターフェースの条件を満たしていないので、@FunctionalInterfaceによるエラーが効いている。

正しく書けばコンパイルが通って実行成功
正しく書けばコンパイルが通って実行成功

正しく書けばコンパイルが通って実行成功。

Sample/java/annotationFunctionalInterface/annotationFunctionalInterface/src/annotationFunctionalInterface at master · bg1bgst333/Sample · GitHub