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