
インターフェイスは次のように定義されます:
[可见度] interface 接口名称 [extends 其他的接口名] {
// 声明变量
// 抽象方法}インターフェイスの本体には抽象メソッドが含まれていますが、インターフェイス内のすべてのメソッドが (定義により) ) are これは抽象メソッドであるため、インターフェイスに abstract キーワードは必要ありません。インターフェイスは外部動作のコレクションを表すため、インターフェイス内のメソッドはすべてパブリックです。
例:
public interface Predator {
boolean chasePrey(Prey p);
void eatPrey(Prey p);
}インターフェイス内のメンバーはすべて静的 (static)、final、およびパブリック (public##) です。 #) 、逆に、それらは任意のクラスまたはインターフェイスの型になることができます。
インターフェイスの実装:
public class Lion implements Predator {
public boolean chasePrey(Prey p) {
// programming to chase prey p (specifically for a lion)
}
public void eatPrey (Prey p) {
// programming to eat prey p (specifically for a lion)
}
}
説明:
クラスがインターフェイスを実装しているが、インターフェイスのすべてのメソッドを実装していない場合は、そのクラスを抽象 (抽象クラス) としてマークする必要があります。抽象クラスのサブクラスは、未完成のメソッドを実装する必要があります。サブクラスがインターフェイスのすべてのメソッドを実装していない場合でも、サブクラスを抽象としてマークする必要があります。 インターフェイスは通常、Java プログラミング言語でコールバック関数に使用されます。 Java ではメソッドをパラメータとして渡すことができないため、解決策の 1 つは、インターフェイスを定義し、このインターフェイスをメソッドのパラメータとして使用し、オブジェクトのメソッド シグネチャを使用することです。サブインターフェイス
インターフェイスは、上で説明した方法を使用して、いくつかの異なるインターフェイスに拡張できます。たとえば、次のとおりです。 public interface VenomousPredator extends Predator, Venomous {
//介面主體
} 上記のプログラムフラグメントは法的に定義されたサブインターフェイスです。クラスとは異なり、インターフェイスでは多重継承が許可されており、Predator と Venomous は kill(Prey prey) などの同じメソッドを定義または継承できます。 、クラスが VenomousPredator を実装すると、これら 2 つのメソッドが同時に実装されます。
以上がJavaでインターフェースを作成して実装する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。