Javaでインターフェースはどのように定義されるか。
In Java, interfaces can be defined using the keyword “interface”. Interfaces can contain constants and abstract methods, but they cannot contain instance variables or non-abstract methods.
Javaで、インターフェースを定義するために「interface」というキーワードを使用できます。 インターフェースには定数と抽象メソッドを含めることができますが、インスタンス変数や非抽象メソッドを含めることはできません。
以下是定义接口的语法:
public interface 接口名 {
// 常量声明
// 抽象方法声明
}
インターフェースでは、定数と抽象メソッドを宣言することができますが、メソッドボディを持つことはできません。 定数はインターフェース内でデフォルトでpublic static finalのタイプですが、抽象メソッドはデフォルトでpublic abstractのタイプです。
例えば、Animalというインターフェースを定義し、定数と抽象メソッドを含めます。
public interface Animal {
int LEGS = 4; // 常量声明
void sound(); // 抽象方法声明
}
また、インタフェースは他のインタフェースを継承することができ、extendsキーワードを使用して複数のインタフェースを同時に継承することもできます。文法は次のようになります:
public interface 子接口名 extends 父接口名1, 父接口名2, ... {
// 常量声明
// 抽象方法声明
}
例えば、Animalインタフェースを継承したWalkableというインタフェースを定義する。
public interface Walkable extends Animal {
void walk();
}
クラスは、implementsキーワードを使用してインターフェースを実装することができます。1つのクラスは複数のインターフェースを実装することができますが、実装するクラスはすべての抽象メソッドを実装しなければなりません。文法は以下のようになります:
public class 类名 implements 接口名1, 接口名2, ... {
// 类的实现
}
例えば、AnimalとWalkableのインターフェースを実装したDogというクラスを定義します。
public class Dog implements Animal, Walkable {
public void sound() {
System.out.println("汪汪");
}
public void walk() {
System.out.println("四条腿走路");
}
}
Dogクラスは、AnimalインターフェースとWalkableインターフェースのすべての抽象メソッドを実装しました。