オブジェクト指向インターフェース--Javaベース(23)

インターフェース

インタフェースの構文:

パブリックインターフェイス  インターフェイス名 {// interfaceキーワード修正クラス

    

}

注:このインタフェースのいずれか、インターフェイス

    プログラマインターフェースの間で定期的な交流:通信インタフェース(後者はあなたを教えてくれます)

    インタフェースの主要インタフェースの変更:財団でのJavaは、設計の拡張であり、

メリット・インターフェース

図1に示すように、単一継承の制限を解決するために

2、外国の分離(呼び出し元)の設計と実装は、実装を隠します(通常は、発信者が達成するために心配する必要はありません)

3、OOPのコア指向プログラミング・インターフェース

注意インターフェイス

インターフェース:のみシングルクラス間の継承、インターフェースをこの制限を破ります。

     図1に示すように、インタフェースはインスタンス化できません

     2、メソッドが抽象メソッドで静的定数インターフェースの特性(プラス最終既定のパブリック静的... ..)は、(......パブリック抽象デフォルト)

     図3に示すように、インタフェースの実装クラスは、すべてのメソッドを実装する必要があり、実装クラスに加えて、抽象クラスです。

     図4に示すように、インターフェースの実装クラスが複数存在してもよいです

     図5に示すように、無インターフェースコンストラクタ

抽象クラスとインタフェースとの間の差

1、インターフェイス、コンストラクタを持つことができない、抽象クラスのコンストラクタが存在してもよいです(両方とも、直接インスタンス化することができません)

2、抽象クラスは、通常のメンバ変数を持つことができ、インターフェースは通常のメンバ変数ではありません。これは、静的な定数であります

3、非抽象クラスは、抽象一般的な方法を含んでいてもよい、非抽象一般的な方法を持つことができない(一般的な方法は、上記jdk1.8とを有することができるが、デフォルトキーワード変更を加えなければなりません)。

図4に示すように、抽象メソッド抽象クラスのアクセスタイプは、公開、保護することができるが、インターフェースは、パブリック抽象メソッドだけ型であり、デフォルトはパブリック抽象型です。

5は、抽象クラスは、静的メソッドを含んでいてもよい、インタフェースを含むことができない静的メソッド(jdk1.8 +行うことができます)

図6に示すように、抽象クラスとインタフェースは、静的メンバ変数を含むことができ、アクセス抽象クラスのタイプの静的メンバ変数は任意であるが、インタフェースで定義された変数のみのpublic static final型とすることができ、デフォルトではパブリック静的最終的なタイプです。

図7に示すように、クラスは複数のインターフェイスを実装することができるが、唯一の抽象クラスを継承することができます。

おすすめ

転載: www.cnblogs.com/Unlimited-Rain/p/12521936.html