インタフェースの概念
のJavaインターフェースは一連のメソッドの宣言で、メソッドの機能のいくつかのコレクションがあり、インターフェイスだけでなく、実装する方法を特徴とするので、これらの方法は、異なる場所で異なるクラスで実装することができるが、これらの実装が異なることができます動作(機能)。
インタフェースの特性は
、クラスのようなものです、インターフェースはメソッドとプロパティを持つことができますが、デフォルトのインタフェースで宣言されたメソッドが抽象的です。(すなわち、メソッド識別子のみ、なしメソッド本体)。
インターフェイスは、クラスが何をしなければならないかを指定すると、クラスの設計図に相当することができません。
例えば、「アスリート」としての能力を記述するインタフェースは、インタフェースとして使用することができ、かつ任意の実装「プレーヤー」クラスインターフェイスは、このアクションを実行を達成する能力を持っている(または移動を()メソッドを実装)しなければならないので、インターフェースの役割は伝えることですこのクラスは、このインターフェイスの機能を実現するために持っているあなたが特定の方法を達成するために持って、私を表し、私はあなたがこのインターフェイスが表すいくつかの能力を持っていることを認めることができます。
クラスがインタフェースに必要なすべてのメソッドを実装していますが、決して体が、識別するための唯一の唯一の方法を提供しない場合、このクラスは抽象クラスでなければなりません。(それは、忘れてはならない:。抽象メソッドが存在することができる抽象クラスまたはインタフェースが、非抽象クラス抽象メソッドでのみ存在することができる、すなわち、メソッド本体インタフェースは百パーセント抽象クラスである)
ライブラリインタフェースの例は、JAVAでありますこの能力を表すコンパレータインタフェースは「比較することができ、」限りコンパレータインタフェースを実装するクラスとして、このクラスには、この機能「複数」は、ソート操作に使用することができました。
なぜ使用のインターフェース
インターフェースは、抽象化を記述するために使用されます。
JavaなどのC ++とは異なり、複数の継承をサポートするので、Javaのインターフェイスを実装することでこの制限を補うことができますので。
インタフェースはまた、デカップリングのために使用することができます。
インターフェイスは抽象を実装するために使用されるが、抽象クラスの抽象を実装するために使用することができ、そしてなぜそれがインターフェイスを使用する必要がありますか?インターフェースと抽象クラス、それを持っているとの違いは何ですか?その理由は、内部の抽象クラスは、非final変数を含んでいてもよいことですが、変数は、最終的な、公共、静的者でなければならないインターフェイスに存在しています。
インタフェース実装構文
の体は、このインタフェースによって継承された具体的な方法を達成するためのインタフェースを宣言するには、我々はinterfaceキーワードを使用して、インターフェイスのすべてのメソッドは、むしろ特定のメソッド本体を宣言しようとするよりも、識別するための唯一の方法を宣言する必要があります達成来るクラスでは、そのため、インタフェースは、特定の実現のチューブではありません。インターフェイスはのpublic static finalをデフォルト属性。クラスは、インターフェイスがこのインターフェイスで定義されたすべての抽象メソッドを実装する必要があります実装しています。
インターフェイスの説明を使用します。
Javaインタフェースは、プログラミングのためのインターフェースを使用して、抽象メソッドのセットです。Javaプログラミング・インターフェースは、次に抽象メソッドの一連のカスタム実装クラス、インタフェースを実装する抽象メソッドによって定義され、インタフェースは、内部処理によって隠すことができます
-
Javaインターフェースを宣言するには?Javaインタフェースは、キーワードのインタフェースを使用して変更する必要が宣言し、自動的にキーワードを追加作成する開発ツールを使用して作成
-
どのように多くのインターフェイスのインターフェイスを継承することができますか?複数のインタフェースは、インタフェースを継承することができるが、Javaクラスは、親クラスから継承することができ、単一継承パターンであります
-
変数を定義することができますが、それは公にアクセス静的定数でなければならないインタフェース
-
インタフェースは、従来の方法は、コンパイラによってコンパイルされた後に抽象的で、デフォルトが追加できるメソッドを定義します
抽象的なキーワード
-
静的メソッド、スタティックメソッドを定義することができるインターフェイスは、クラスレベルの静的メソッドに属する方法は、直接クラスによって呼び出すことができる方法であることができます
-
実装するインターフェイスのメソッドは、implementsキーワードを使用する必要があります
コードは以下の通りであります:
パブリック インターフェース喫煙{ // 抽象メソッドパブリック抽象メソッドの戻り型の名前(パラメータリスト) // 特性メンバ変数のpublic static final変数名=変数値; // 静的定数(割当を変更することはできません後) // インターフェースA { } // intefaceを{B} パブリック 静的 最終 int型 A = 1 ; パブリック 抽象 ボイド煙(); }
パブリック クラスの学生は、実装喫煙{ 公共 空煙(){ System.out.printlnは( "学生抽烟" ); } }
パブリック クラスdemo01 { 公共 静的 ボイドメイン(文字列[]引数){ 生徒S = 新しい生徒()。 s.smoke(); System.out.println(SA)。 System.out.println(Smoking.a)。 } }
出力は次のようになります。