Javaインタフェース2024 年の最新の入門チュートリアル。このコースでは インターフェイス宣言,インタフェースの実装,継承インタフェース,多重継承インターフェイス,マーカーインタフェース, について学習できます。
インタフェース(英語:Interface)は、Javaプログラミング言語の抽象型で、インタフェースは通常、ステートメントにインタフェース、抽象メソッドのコレクションです。 インターフェイスモードを継承したクラスは、それによって、抽象メソッドのインターフェースを継承します。
インターフェイスはクラスではない、と準備インターフェイスにクラスアプローチは非常に似ていますが、それらは異なる概念に属しています。 クラスは、オブジェクトのプロパティとメソッドについて説明します。 インタフェースを実装する方法のクラスが含まれています。
インターフェースクラスの実装は、クラスのインターフェイスにすべてのメソッドを定義する抽象的、または他のでない限り。
インタフェースはインスタンス化することはできませんが、それを実現することができます。 インタフェースを実装するクラスは、インターフェイスに記載されているすべての方法は、それ以外の場合は、抽象クラスとして宣言する必要があり、実装する必要があります。 また、Javaで、インタフェース型変数を宣言するために使用され、それらはNULLポインタになることができ、またはこのインタフェースのオブジェクトにバインドされています。
クラスのポイントと同様のインターフェース:
インタフェース宣言の構文は次のとおりです。
[可见度] interface 接口名称 [extends 其他的类名] { // 声明变量 // 抽象方法 }
interfaceキーワードは、インターフェイスを宣言するために使用されます。 ここではインタフェース宣言の簡単な例です。
/* 文件名 : NameOfInterface.java */ import java.lang.*; //引入包 public interface NameOfInterface { //任何类型 final, static 字段 //抽象方法 }インターフェイスは、次の機能があります。
/* 文件名 : Animal.java */ interface Animal { public void eat(); public void travel(); }
クラスは、インターフェイスクラスインターフェイスを実装すると、すべての方法が実現しています。 そうしないと、クラスは抽象クラスとして宣言する必要があります。
使用して、インターフェイスを実装するキーワードクラスを実装します。 クラス宣言では、クラス宣言の後ろにキーワードを実装します。
インターフェイスの構文を実装するには、次の式を使用することができます。
ja. implements 接口名称[, 其他接口, 其他接口ja., ja.] ja.
/* 文件名 : MammalInt.java */ public class MammalInt implements Animal{ public void eat(){ System.out.println("Mammal eats"); } public void travel(){ System.out.println("Mammal travels"); } public int noOfLegs(){ return 0; } public static void main(String args[]){ MammalInt m = new MammalInt(); m.eat(); m.travel(); } }
次のような結果をコンパイルした上記の例は次のとおりです。
Mammal eats Mammal travels
インタフェースで宣言されたメソッドをオーバーライドする場合は、次のルールに注意を払う必要があります。
インタフェースの実装時には、だけでなく、いくつかのルールに注意を払います:
インターフェイスは、クラスや継承の間に、より類似した別のインターフェースを継承することができます。 継承インターフェイスは、キーワードサブインターフェイスは親インターフェイスのメソッドを継承拡張します。
ホッケーとサッカーのインターフェイスは、次のインタフェースは、スポーツを継承されます。
// 文件名: Sports.java public interface Sports { public void setHomeTeam(String name); public void setVisitingTeam(String name); } // 文件名: Football.java public interface Football extends Sports { public void homeTeamScored(int points); public void visitingTeamScored(int points); public void endOfQuarter(int quarter); } // 文件名: Hockey.java public interface Hockey extends Sports { public void homeGoalScored(); public void visitingGoalScored(); public void endOfPeriod(int period); public void overtimePeriod(int ot); }
自身は4つのメソッドを宣言ホッケーインタフェース、インタフェースはそうクラスインターフェイスホッケー6つのメソッドを実装する必要性を実現するために、スポーツからの2つのメソッドを継承します。
同様に、インタフェースの実装クラスのサッカーはスポーツインターフェイスから2を含む5つのメソッドを実装する必要があります。
Javaでは、多重継承クラスが有効ではありませんが、インターフェイスは多重継承を許可します。
多重継承のインターフェイスでは、その後のフォロー継承インタフェースで、一度だけのキーワードを拡張します。 次のように:
public interface Hockey extends Sports, Event
上記のプログラムの一部は、法的に定義するか、または同様の方法を継承することができるインターフェイスは、複数の継承を可能にするクラス、およびスポーツイベントとは異なり、サブインターフェイスを定義されています
最も一般的な遺伝インターフェイスは、インターフェイスの任意のメソッドが含まれていません。
これは、インタフェースがインタフェースのメソッドとプロパティではありません示しています。それは、単にそれが何かをすることができ、テストに他のコードのクラスの特定のタイプに属していることを示しています。
(スタンプをビルド)のマークを作る、またはオブジェクトが特定の権限を持つようにすることである物体の単純な画像:インタフェースの役割を識別します。
たとえば、次のようにjava.awt.eventのパッケージのMouseListenerインターフェイスの継承されたjava.util.EventListenerインタフェースが定義されています。
package java.util; public interface EventListener {}
インターフェイスは、マーカーインターフェイスと呼ばれている方法はありません。 マーカーインタフェースは、主に2つの目的のために使用されます。
他のインタフェース拡張機能Java APIの数十から構成されているEventListenerインターフェースとして、あなたは親インターフェイスのインターフェイスのセットを確立するために、マーカーインターフェイスを使用することができます。 たとえば、次のインターフェースは、イベント・エージェントのプログラムに使用されるインターフェイスを知っているイベントリスナーインターフェース、Java仮想マシン(JVM)を継承します。
この状況は、多型を介してタグ機能インタフェース本来の目的である、マーカーインターフェイスを実装するクラスは、任意のインターフェイスのメソッドを定義する必要はありません(マーカーインターフェイスは、単に方法はありませんように)が、インタフェース型へのクラス。