diff --git a/W5/ShapeTest.java b/W5/ShapeTest.java new file mode 100644 index 0000000..87ac2c8 --- /dev/null +++ b/W5/ShapeTest.java @@ -0,0 +1,39 @@ +// 图形父类 +class Shape { + public void draw() { + System.out.println("绘制图形"); + } +} + +// 圆形子类 +class Circle extends Shape { + @Override + public void draw() { + System.out.println("绘制圆形"); + } +} + +// 矩形子类 +class Rectangle extends Shape { + @Override + public void draw() { + System.out.println("绘制矩形"); + } +} + +// 测试主类 +public class ShapeTest { + + // 题目要求的方法 + public static void drawShape(Shape s) { + s.draw(); + } + + public static void main(String[] args) { + Shape c = new Circle(); + Shape r = new Rectangle(); + + drawShape(c); + drawShape(r); + } +} diff --git a/W5/VehicleTest.java b/W5/VehicleTest.java new file mode 100644 index 0000000..1866736 --- /dev/null +++ b/W5/VehicleTest.java @@ -0,0 +1,48 @@ +// 抽象父类 交通工具 +abstract class Vehicle { + // 抽象方法 + public abstract void run(); +} + +// 小汽车 +class Car extends Vehicle { + @Override + public void run() { + System.out.println("小汽车在公路上行驶"); + } +} + +// 自行车 +class Bike extends Vehicle { + @Override + public void run() { + System.out.println("自行车在慢慢骑行"); + } +} + +// 卡车 +class Truck extends Vehicle { + @Override + public void run() { + System.out.println("卡车在运输货物"); + } +} + +// 主类 +public class VehicleTest { + public static void main(String[] args) { + + // 创建 Vehicle 数组,存放不同子类对象(多态) + Vehicle[] vehicles = { + new Car(), + new Bike(), + new Truck() + }; + + // 遍历数组,调用 run() 方法 + System.out.println("===== 所有交通工具开始运行 ====="); + for (Vehicle v : vehicles) { + v.run(); + } + } +} \ No newline at end of file