// Fruitクラスの定義
class Fruit {
// getTasteメソッド
public void getTaste() {
System.out.println("味を取得します");
}
}
// Appleクラスの定義(Fruitクラスを継承)
class Apple extends Fruit {
// getTasteメソッドのオーバーライド
@Override
public void getTaste() {
System.out.println("りんごの味を取得しました");
}
}
// Bananaクラスの定義(Fruitクラスを継承)
class Banana extends Fruit {
// getTasteメソッドのオーバーライド
@Override
public void getTaste() {
System.out.println("バナナの味を取得しました");
}
}
// メインクラス
public class Main {
public static void main(String[] args) {
// Fruitクラスのインスタンス
Fruit fruit = new Fruit();
fruit.getTaste(); // 味を取得します
// Appleクラスのインスタンス
Apple apple = new Apple();
apple.getTaste(); // りんごの味を取得しました
// Bananaクラスのインスタンス
Banana banana = new Banana();
banana.getTaste(); // バナナの味を取得しました
}
}
このコードでは、Fruit
クラスが基本的な getTaste
メソッドを提供し、Apple
クラスと Banana
クラスがそれを継承して必要なメソッドをオーバーライドしています。それぞれのクラスのインスタンスを作成し、getTaste
メソッドを呼び出すことで、対応するメッセージが表示されます。