1。概要
- まず、JDK1.8 より前には、インターフェースには 2 つのコンポーネントしかありませんでした。
1.抽象メソッドデフォルトの修飾子はpublic abstract
2 です。絶え間ないデフォルトの修飾子はpublic static Finalです。
- JDK1.8では以下のコンポーネントが追加されました。
1.デフォルトのメソッド修飾子はキーワードdefaultで、これはメソッド本体を持つ非抽象メソッドです。インターフェイスの実装クラスは、これを実装するかどうかを選択できます。これは必須ではありません。実装されていない場合、デフォルトは実装ロジックです。メソッドはインターフェイスの拡張を容易にすることができます。
2.静的メソッドモディファイアは当然静的です
- JDK1.9でプライベートメソッドが追加されました
1.プライベートメソッド修飾子は当然privateです。JDK 1.8 では、インターフェイス クラスにプライベート メソッドを記述するための構文は問題ありませんでしたが、実行するとエラーが報告されました。プライベート メソッドは JDK 1.9 で正式に導入されました。インターフェイスに特定の処理ロジックを記述できるようになったためです。現時点では、共通のプライベート処理ロジック手法となるために提案する必要がある共通のコード ブロックが存在する必要があります。
2.コード
- デフォルトのメソッド
public interface NewInterface {
// java8之前,接口中只包含如下两个内容
// 1.常量:默认修饰符为 public static final
int a = 1;
//2. 抽象方法:默认修饰符为 public abstract
void method();
// 在java8的时候在接口中可以写默认方法和静态方法了
// 首先,默认方法
public default String methodDefault() {
return "default method";
}
// 以及静态方法
public static void methodStatic() {
System.out.println("static method in interface");
}
// 以及在java9中可以写私有方法了
private void methodPrivate() {
System.out.println("private method in interface");
}
}