// 1. 定义父类 Shape class Shape { // 定义一个 draw 方法,可以提供一个默认实现或声明为抽象方法 public void draw() { System.out.println("正在绘制一个形状..."); } } // 2. 定义子类 Circle,继承自 Shape class Circle extends Shape { // 重写 (Override) 父类的 draw 方法 @Override public void draw() { System.out.println("正在绘制一个圆形..."); } } // 3. 定义子类 Rectangle,继承自 Shape class Rectangle extends Shape { // 重写 (Override) 父类的 draw 方法 @Override public void draw() { System.out.println("正在绘制一个矩形..."); } } // 4. 主测试类 public class ShapeTest { // 定义题目要求的 drawShape 方法 // 这个方法接收一个 Shape 类型的参数,体现了多态 public static void drawShape(Shape s) { // 调用传入对象的 draw 方法 // 在运行时,JVM会根据对象的实际类型(Circle或Rectangle)来决定调用哪个方法 s.draw(); } // main 方法,程序的入口 public static void main(String[] args) { // 创建 Circle 和 Rectangle 的实例 Shape circle = new Circle(); Shape rectangle = new Rectangle(); // 调用 drawShape 方法进行测试 System.out.println("--- 开始测试 ---"); drawShape(circle); // 输出: 正在绘制一个圆形... drawShape(rectangle); // 输出: 正在绘制一个矩形... System.out.println("--- 测试结束 ---"); } }