// Swimmable インターフェイスの宣言
interface Swimmable {
void swim();
}
// Fish クラスの宣言と Swimmable インターフェイスの実装
class Fish implements Swimmable {
@Override
public void swim() {
System.out.println("Swimming");
}
void makeSound() {
// 適切な実装
}
}
// Goldfish クラスの宣言と Fish クラスの継承
class Goldfish extends Fish {
// makeSound メソッドのオーバーライド
@Override
void makeSound() {
System.out.println("Blub!");
}
// Swimmable インターフェイスの swim メソッドの実装
@Override
public void swim() {
System.out.println("Swimming like a goldfish.");
}
}
この例では、Swimmable
インターフェイスを実装した Fish
クラスと、Fish
クラスを継承した Goldfish
クラスがあります。Goldfish
クラスでは makeSound
メソッドをオーバーライドして「Blub!」と表示し、swim
メソッドを実装して「Swimming like a goldfish.」と表示します。