まず、インターフェース
- インタフェースは:あるJavaのクラスのメンバ変数、コンストラクタとメソッドのメンバーは、内部インターフェイスは主にされている場合、メソッドの集合、内部パッケージ言語リファレンスタイプされたメソッドをパッケージ化、抽象メソッド(含まれているJDKを7 歳以上)、デフォルトの方法と静的メソッド(JDK 8 )、プライベートメソッド(JDK 9 )。
- インタフェースの定義:それは同様の方法でクラスを定義しますが、使用してインターフェイスキーワードを。それはまたにコンパイルされた.class ファイルが、それはクラスではなく、別の参照データ型ことを明確にする必要があります。
- インターフェイスを使用します(これは、オブジェクトを作成することはできませんが、実装することができ実装を継承したように、)。インターフェイスを実装するクラス(インターフェースのサブクラスとして見ることができる)、インタフェースの抽象メソッドのすべては、あなたがメソッドを呼び出すことができ、クラスオブジェクトを作成するために実装する必要があり、さもなければ、それは抽象クラスでなければなりません。
ヒント:参照データ型:アレイ、クラス、インタフェース等。
第二に、定義フォーマット
構文:
パブリックインターフェイスのインターフェイス名{
//抽象メソッド
//デフォルトの方法
//静的メソッド
// privateメソッド
}
抽象メソッドを含む1、(JDK7 +)
抽象メソッド:、抽象的なキーワードの変更を使用して省略することができ、何のメソッド本体がありません。サブクラスの実装に使用される方法。
デモ:
1 パブリック インターフェイスインターフェイス名{
2 パブリック 抽象 ボイド法();
3 }
2、デフォルト及び静的メソッドを含む方法(JDK8 +)
デフォルトの方法:デフォルトを使用して修正、サブクラスまたはサブクラスコールオーバーライドのために省略されていません。
静的メソッド:静的な変更を使用しては、直接インタフェースを求めています。
デモ:
1 パブリック インターフェイスインターフェイス名{
2 パブリック デフォルト ボイド法(){
3 // ステートメントを実行する
。4 }
。5 パブリック 静的 ボイド方法2(){
6 // ステートメントを実行
7 }
8 }
3、プライベートおよびプライベート静的メソッドを含む方法(JDK9 +)
プライベートメソッド:プライベート修正の使用、インターフェースまたは静的メソッド呼び出しのためのデフォルトの方法。
デモ:
1つの パブリック インターフェイスインターフェイス名{
2 プライベート ボイド法(){
3 // 実行ステートメント
4 }
5 }
4、
第三に、基本的な実現
1、概説の実現
関係を達成するためのクラスとインタフェースとの間の関係、すなわちクラスがインターフェイスを実装し、そのようなインタフェースの実装クラスとも呼ばれてもよく、また、サブクラスインターフェースと呼ぶことができます。
継承のように実装行為は、形式が似ていますが、別のキーワードを使用して実装実装のキーワードを。
インタフェースを実装する非抽象サブクラス:
-
- インターフェイスのすべての抽象メソッドを書き換える必要があります。
- それは、直接呼び出すことができるデフォルトのインターフェイスメソッドを継承も書き換えることができます。
- インターフェイスのすべての抽象メソッドを書き換える必要があります。
実現の形式:
クラスのクラス名は、インタフェース名を実装{
//インターフェース抽象メソッド[]をオーバーライドする必要があり
//デフォルトオーバーライドインターフェース方法を、[オプション]
}
2、抽象メソッドを使用して
インタフェースの抽象メソッドが完全に実現されなければなりません。
使用3、デフォルトの方法
これは、継承することができ、第二選挙を書き換えることができますが、唯一のオブジェクトの実装クラスで呼び出すことができます。
4、静的メソッドを使用します
のみを使用、の.classファイルに関連付けられた静的インタフェース名の通話を、クラスが呼び出される実装するクラスやオブジェクトのクラス名では達成できません。
5、プライベートメソッドを使用して
-
-
- プライベートメソッド:のみデフォルトの方法を呼び出すことができます。
- 私有静态方法:默认方法和静态方法可以调用;
-
如果一个接口中有多个默认方法,并且方法中有重复的内容,那么可以抽取出来,封装到私有方法中,供默认方法去调用。
四、接口的多实现
五、接口的多继承
一个接口能继承另一个或者多个接口,这和类之间的继承比较相似。接口的继承使用 extends 关键字,子接口继承父接口的方法。
如果父接口中的默认方法有重名的,那么子接口需要重写一次。
六、其他成员特点
- 接口中,无法定义成员变量,但是可以定义常量,其值不可以改变,默认使用 public static final 修饰。
- 接口中,没有构造方法,不能创建对象。
- 接口中,没有静态代码块。