jdk1.8新しいプロパティのdefault,staticインタフェースキーワード
1750 ワード
インタフェースを実装するには、すべての方法を実装する必要がありますか?jdk 1で.7以前は必要だったjdk 1があった.8,この概念は忘れられて、インタフェースは自分のデフォルトで実現することができて、インタフェースは静的な方法を書くことができますか?jdk1.7以前はきっとだめだった、jdk 1があった.8またできるようになって、幸福感の到来.
defaultキーワード
インタフェースを定義するには、次のようにします.キーワード
インプリメンテーションクラス、インタフェースを書き換えるかどうかを選択
何の役にも立たない
staticキーワード
私たちが普段使っているstaticキーワードは、字義属性やクラスを消す方法など、インタフェースで使ったことがありますか?1.7までは全く不可能でした.
ルートの一般的な静的メソッド定義は同じです
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
}
}