Javaでインタフェースを定義する方法は?

Javaでは、interfaceキーワードを使用してインタフェースを定義することができます。インタフェースには抽象メソッド、デフォルトメソッド、静的メソッドを含めることができますが、インスタンスフィールドやコンストラクタは含めることができません。

インターフェイスの構文を定義します。

public interface 接口名 {
    // 抽象方法声明
    void 方法名();

    // 默认方法声明
    default void 默认方法名() {
        // 方法体
    }

    // 静态方法声明
    static void 静态方法名() {
        // 方法体
    }
}

インターフェース名は自分で定義する必要があります。必要に応じて名前を付けることができます。インターフェース内の抽象メソッドには本体がありません。メソッドの名前、パラメータ、戻り値の型のみが宣言されています。デフォルトメソッドと静的メソッドには本体を持つことができ、インターフェース内でデフォルトのメソッド実装を直接提供することができます。

重要なことは、インターフェースはインスタンス化できず、他のクラスで実装または継承する必要があるということです。インターフェースを実装するクラスは、implementsキーワードを使用する必要があります。一方、インターフェースを継承するインターフェースは、extendsキーワードを使用する必要があります。

以下は、インターフェイスの定義と実装の例です。

public interface Animal {
    void sound();
}

public class Dog implements Animal {
    @Override
    public void sound() {
        System.out.println("汪汪汪!");
    }
}

public class Main {
    public static void main(String[] args) {
        Animal dog = new Dog();
        dog.sound();
    }
}

上記の例では、Animalはインターフェースであり、Dogクラスがそのインターフェースを実装しています。DogクラスはAnimalインターフェースのsound()メソッドを実装しなければならず、具体的なメソッドを提供する必要があります。Mainクラスのmainメソッドでは、Dogオブジェクトが作成され、sound()メソッドが呼び出されます。出力結果はワンワンワン!です。

bannerAds