Java8-default-methods
提供:Dev Guides
Java 8-デフォルトのメソッド
Java 8では、インターフェイスにデフォルトのメソッド実装という新しい概念が導入されています。 この機能は下位互換性のために追加されているため、古いインターフェイスを使用してJava 8のラムダ式機能を活用できます。
たとえば、「リスト」または「コレクション」インターフェースには「forEach」メソッド宣言がありません。 したがって、このようなメソッドを追加すると、コレクションフレームワークの実装が単純に破壊されます。 Java 8ではデフォルトのメソッドが導入されているため、List/CollectionインターフェースはforEachメソッドのデフォルトの実装を持つことができ、これらのインターフェースを実装するクラスは同じものを実装する必要はありません。
構文
複数のデフォルト
インターフェイスのデフォルト関数では、クラスが同じデフォルトメソッドを持つ2つのインターフェイスを実装している可能性があります。 次のコードは、このあいまいさを解決する方法を説明しています。
最初の解決策は、デフォルトの実装をオーバーライドする独自のメソッドを作成することです。
2番目の解決策は、superを使用して指定されたインターフェイスのデフォルトメソッドを呼び出すことです。
静的デフォルトメソッド
インターフェイスには、Java 8以降の静的ヘルパーメソッドを含めることもできます。
デフォルトのメソッドの例
C:\> JAVAなどで選択した任意のエディターを使用して、次のJavaプログラムを作成します。
Java8Tester.java
結果を確認する
次のように javac コンパイラを使用してクラスをコンパイルします-
次のようにJava8Testerを実行します-
それは次の出力を生成する必要があります-