interface Shape {
double getArea(); // 面積を計算するメソッド
double getPerimeter(); // 周囲の長さを計算するメソッド
}
このインターフェイスでは、getArea
メソッドと getPerimeter
メソッドが抽象メソッドとして宣言されています。これを実装するクラスは、これらのメソッドを具体的に実装する必要があります。
複数のメソッドを含むインターフェイス
Javaのインターフェイスは、複数の抽象メソッドや定数を含むことができます。以下はその基本的な構文と解説です。
- 複数のメソッドを含むインターフェイスの宣言:
interface MyInterface {
void method1(); // 抽象メソッド1
void method2(); // 抽象メソッド2
// 他にも抽象メソッドや定数を追加できる
}
インターフェイス内で複数の抽象メソッドを宣言することができます。
これらのメソッドは、実装クラスによって具体的な実装を提供する必要があります。
- インターフェイスを実装するクラス:
class MyClass implements MyInterface {
@Override
public void method1() {
// method1の具体的な実装
}
@Override
public void method2() {
// method2の具体的な実装
}
}
インターフェイスを実装するクラスでは、宣言された全ての抽象メソッドを実装する必要があります。
@Override アノテーションを使用して、メソッドがインターフェイスのメソッドをオーバーライドしていることを明示的に示します。
- インターフェイス内でのデフォルトメソッドと静的メソッド:
Java 8以降では、デフォルトメソッドと静的メソッドもインターフェイス内に定義できます。これらは具体的な実装を提供することができます。
interface MyInterface {
void method1(); // 抽象メソッド
default void defaultMethod() {
// デフォルトメソッドの実装
}
static void staticMethod() {
// 静的メソッドの実装
}
}
デフォルトメソッドは default キーワードを使用して宣言され、既存の実装クラスに対して変更を加えずに新しいメソッドを追加できます。
静的メソッドは static キーワードを使用して宣言され、インターフェイス名を使用して直接呼び出すことができます。
これにより、インターフェイスは柔軟で拡張性のあるコードを実現する手段となります。