1 changed files with 47 additions and 0 deletions
@ -0,0 +1,47 @@ |
|||||
|
// 抽象父类 Vehicle |
||||
|
abstract class Vehicle { |
||||
|
// 抽象方法 run(),没有方法体,强制子类实现 |
||||
|
public abstract void run(); |
||||
|
} |
||||
|
|
||||
|
// 子类 Car |
||||
|
class Car extends Vehicle { |
||||
|
@Override |
||||
|
public void run() { |
||||
|
System.out.println("小汽车在公路上飞驰 🚗"); |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
// 子类 Bike |
||||
|
class Bike extends Vehicle { |
||||
|
@Override |
||||
|
public void run() { |
||||
|
System.out.println("自行车在非机动车道骑行 🚲"); |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
// 子类 Truck |
||||
|
class Truck extends Vehicle { |
||||
|
@Override |
||||
|
public void run() { |
||||
|
System.out.println("卡车在货运道路运输 🚚"); |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
// 测试类 |
||||
|
public class VehicleTest { |
||||
|
public static void main(String[] args) { |
||||
|
System.out.println("\n=== 进阶题测试 ==="); |
||||
|
// 1. 创建 Vehicle 数组,存放不同子类对象(多态数组) |
||||
|
Vehicle[] vehicles = { |
||||
|
new Car(), |
||||
|
new Bike(), |
||||
|
new Truck() |
||||
|
}; |
||||
|
|
||||
|
// 2. 遍历数组,统一调用 run() 方法,自动触发对应子类的实现 |
||||
|
for (Vehicle v : vehicles) { |
||||
|
v.run(); |
||||
|
} |
||||
|
} |
||||
|
} |
||||
Loading…
Reference in new issue