Javaインターフェースインターフェースの使用

1. インターフェースはインターフェースを使用して定義されます。
2. Java では、インターフェイスとクラスは 2 つの並列構造です
3. インターフェースの定義方法とインターフェース内のメンバーの定義方法
  • 3.1 JDK7以前では、グローバル定数と抽象メソッドのみ定義可能

グローバル定数: public static Final。ただし、書くときは省略できます

抽象メソッド: 公開要約

  • 3.2 JDK8 では、グローバル定数と抽象メソッドの定義に加えて、静的メソッドとデフォルト メソッドも定義できます。

静的メソッド: static キーワードを使用して変更します。インターフェイスを通じて静的メソッドを直接呼び出し、そのメソッド本体を実行できます。相互に使用されるクラスでは静的メソッドをよく使用します。標準ライブラリには、コレクション/コレクションやパス/パスなどのインターフェイスとクラスのペアがあります。

デフォルトのメソッド: デフォルトのメソッドは、default キーワードで修飾されます。古いバージョンのコードとの互換性を維持しながらクラス オブジェクトを実装することで、既存のインターフェイスで新しいメソッドを呼び出すことができます。例: Java 8 API は、Collection、List、Comparator などのインターフェイスに豊富なデフォルト メソッドを提供します。

知識ポイント 1: インターフェイスで定義された静的メソッドは、インターフェイス経由でのみ呼び出すことができます。CompareA.method1();
知識ポイント2:クラスのオブジェクトを実装することで、インターフェース内のデフォルトメソッドを呼び出すことができます。//実装クラスがインターフェース内のデフォルトメソッドを書き換えた場合でも、呼び出し時に書き換えられたメソッドが呼び出される s.method2(); 知識ポイント
3: サブクラス(または実装クラス)が親クラスと実装を継承している場合 デフォルトメソッド同じ名前と同じパラメータを持つメソッドがインターフェイスで宣言されている場合、 // このメソッドをオーバーライドしない場合、サブクラスはデフォルトで親クラスの同じ名前と同じパラメータを持つメソッドを呼び出します。 -->知識ポイントクラス優先
順位の原則の 4 では、実装クラスが複数のインターフェイスを実装し、同じ名前と同じパラメータを持つデフォルト メソッドがこれらの複数のインターフェイスで定義されている場合、 // 実装クラスがこのメソッドをオーバーライドしない場合、エラーが発生します。 -- >インターフェースの競合。これは実装クラスでこのメソッドをオーバーライドする必要があります。
4. インターフェイス内でコンストラクターを定義できません。つまり、インターフェイスをインスタンス化できません。
5. Java開発では、クラスに実装(実装)させてインターフェースを利用します。
  • 実装クラスがインターフェース内のすべての抽象メソッドをカバーしている場合、実装クラスをインスタンス化できます。

  • 実装クラスがインターフェイス内のすべての抽象メソッドをカバーしていない場合でも、実装クラスは依然として抽象クラスです。

6. Java クラスは複数のインターフェイスを実装できます ---> Java の単一メンテナンスの制限を補います。

格式: クラス AA は BB を拡張し、CC、DD、EE を実装します

7. インターフェースとインターフェースの継承が可能であり、多重継承が可能
8. インターフェイスの特定の使用法は多態性を反映しています
9. インターフェースは実際には仕様とみなすことができます
10. インターフェースの適用: プロキシモード、ファクトリーモード

おすすめ

転載: blog.csdn.net/weixin_44863237/article/details/128898782