記事:新機能へのより柔軟なインタフェースでC#8.0 [翻訳] -デフォルトのインタフェース
元のサンプルコード:
パブリック インターフェースのiBook { ボイド AddBook(文字列 bookName、ストリングautherName)。 空 removeBook(文字列bookName)。 無効 rateBook(int型bookID) { // ここではデフォルトのロジック Console.WriteLineを(" \ nExecutedインタフェースのデフォルトの実装" ); } }
java8は、インタフェースのデフォルトの実装を提供します。
参考ます。https://baijiahao.baidu.com/s ID = 1609018150369824405&WFR =クモ&用= PC?
タイトル:インタフェースのデフォルトの方法Java8
Java8では、特定の実装、使用デフォルトの修飾とのインタフェースを可能にすることを含む方法は、そのような方法は、デフォルトの方式です。例えば:
デフォルトのメソッドと継承親クラス3インターフェイスの競合、この時間ではなく、デフォルトのインターフェイスのメソッドの親クラスのメソッドを選択します。これは、クラス優先の原則と呼ばれ、それはJava7との互換性を確保することができます。つまり、インタフェースで実装されるデフォルトの方法では、Java8前に、コードの書き込みには影響しません。、優先度クラスの原理に従って、これらのメソッドのオブジェクトが保持されますので、そこで、我々は、インタフェースのtoString()とequals()などのインターフェースに定義することはできません。