38

Java 8 でわかっているように、関数型インターフェースの概念が導入されました。Functional Interface には 1 つのabstractメソッドがあり、いくつかのデフォルトまたは静的メソッドが可能です。

しかし、Functional インターフェースに抽象メソッドが 1 つしかないのはなぜでしょうか? インターフェイスに複数の抽象メソッドがある場合、なぜこれが機能インターフェイスではないのですか?

4

4 に答える 4

33

Lambda 関数を容易にするために、 Single Abstract Method Interfaceとも呼ばれる関数型インターフェイスが導入されました。ラムダ関数は 1 つのメソッドの実装しか提供できないため、関数型インターフェイスには抽象メソッドを 1 つだけ持つことが必須です。詳細については、こちらを参照してください

編集-> ここで注目に値するのは、機能インターフェースはインターフェースにデフォルトの実装を持つことができるということです。実装の詳細については、上記のリンクを参照してください。

于 2014-04-28T13:36:05.033 に答える