// 抽象クラス Animal
abstract class Animal {
// 抽象メソッド makeSound
public abstract String makeSound();
}
// Dog クラス
class Dog extends Animal {
// makeSound メソッドのオーバーライド
@Override
public String makeSound() {
return "Woof! Woof!";
}
}
// Cat クラス
class Cat extends Animal {
// makeSound メソッドのオーバーライド
@Override
public String makeSound() {
return "Meow!";
}
}
// Main クラス
public class Main {
public static void main(String[] args) {
// 異なる動物のインスタンスを生成
Animal dog = new Dog();
Animal cat = new Cat();
// 各動物の鳴き声を表示
System.out.println("Dog Sound: " + dog.makeSound());
System.out.println("Cat Sound: " + cat.makeSound());
}
}
このプログラムでは、Animal
クラスが抽象クラスとして定義され、Dog
と Cat
クラスがそれを継承して makeSound
メソッドをオーバーライドしています。main
メソッドでは、異なる動物のインスタンスを生成し、それぞれの鳴き声を表示しています。