jdk1.8新しいプロパティのdefault,staticインタフェースキーワード


インタフェースを実装するには、すべての方法を実装する必要がありますか?jdk 1で.7以前は必要だったjdk 1があった.8,この概念は忘れられて、インタフェースは自分のデフォルトで実現することができて、インタフェースは静的な方法を書くことができますか?jdk1.7以前はきっとだめだった、jdk 1があった.8またできるようになって、幸福感の到来.
defaultキーワード
インタフェースを定義するには、次のようにします.キーワードdefaultを追加する方法があります.あなたは間違っていません.インタフェースにはメソッドがあります.自分のデフォルトの実装があります.defaultは抽象インタフェースの利点を統合しています.
interface MyInterface{
    default void api(){

    }
}

インプリメンテーションクラス、インタフェースを書き換えるかどうかを選択
class MyInterfaceImpl implements MyInterface{

}

何の役にも立たないspring-data-jpaを使用する学生はすべて知っていて、springこのフレームワークはインタフェース向けにプログラミングして、実装クラスを書く必要はありません.フレームワークはインタフェースの方法名に基づいて解析してbに対応するsql文を出して、どのようにインタフェースの定義が私たちの高級なクエリーを満たしていないのですか?私たちは何枚かの表を調べて、そして関連する論理を処理しなければならないので、ここのインタフェースは私たちを完成することができません.だから機能しなければなりません.spring-data-jpaのインタフェースを実現することができます.冗談でしょう.それは多くのインタフェースを定義しています.まさかあなたは一つ一つ実現しなければなりませんか.defaultキーワードがあれば、インタフェースから手に入れることができます.皆さんは今、どのようにしたらいいか考えることができます.私たちもインタフェースを定義し、複雑なクエリーや論理をdefaultメソッド体に入れて実現すればOKです.
staticキーワード
私たちが普段使っているstaticキーワードは、字義属性やクラスを消す方法など、インタフェースで使ったことがありますか?1.7までは全く不可能でした.
ルートの一般的な静的メソッド定義は同じです
interface MyInterface{
    default void api(){

    }
    static void myStaticMethod(){
        //do something
    }
}