// Vehicleクラスの定義
class Vehicle {
// startメソッド
public void start() {
System.out.println("乗り物が始動しました");
}
}
// Carクラスの定義(Vehicleクラスを継承)
class Car extends Vehicle {
// startメソッドのオーバーライド
@Override
public void start() {
System.out.println("車がエンジンをかけました");
}
}
// Motorcycleクラスの定義(Vehicleクラスを継承)
class Motorcycle extends Vehicle {
// startメソッドのオーバーライド
@Override
public void start() {
System.out.println("バイクがエンジンをかけました");
}
}
// メインクラス
public class Main {
public static void main(String[] args) {
// Vehicleクラスのインスタンス
Vehicle vehicle = new Vehicle();
vehicle.start(); // 乗り物が始動しました
// Carクラスのインスタンス
Car car = new Car();
car.start(); // 車がエンジンをかけました
// Motorcycleクラスのインスタンス
Motorcycle motorcycle = new Motorcycle();
motorcycle.start(); // バイクがエンジンをかけました
}
}
このコードでは、Vehicle
クラスが基本的な start
メソッドを提供し、Car
クラスと Motorcycle
クラスがそれを継承して必要なメソッドをオーバーライドしています。それぞれのクラスのインスタンスを作成し、start
メソッドを呼び出すことで、対応するメッセージが表示されます。