You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

50 lines
1.6 KiB

// 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("--- 测试结束 ---");
}
}