From 2d80c03f232e3c4a9710db9d63fb2ad70a6780a3 Mon Sep 17 00:00:00 2001 From: chenweicheng <3308506614@qq.com> Date: Wed, 8 Apr 2026 16:19:33 +0800 Subject: [PATCH] =?UTF-8?q?=E4=B8=8A=E4=BC=A0=E6=96=87=E4=BB=B6=E8=87=B3?= =?UTF-8?q?=20'W5'?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- W5/Main.java | 38 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 38 insertions(+) create mode 100644 W5/Main.java diff --git a/W5/Main.java b/W5/Main.java new file mode 100644 index 0000000..275a2cd --- /dev/null +++ b/W5/Main.java @@ -0,0 +1,38 @@ +//TIP 要运行代码,请按 或 +// 点击装订区域中的 图标。 +// 基类 Shape +abstract class Shape { + public abstract void draw(); // 抽象方法,要求子类重写 +} + +// 子类 Circle +class Circle extends Shape { + @Override + public void draw() { + System.out.println("画一个圆形"); + } +} + +// 子类 Rectangle +class Rectangle extends Shape { + @Override + public void draw() { + System.out.println("画一个矩形"); + } +} + +// 测试类 +class TestPolymorphism { + // 接收 Shape 类型参数,调用其 draw 方法 + public static void drawShape(Shape s) { + s.draw(); + } + + static void main() { + Shape circle = new Circle(); + Shape rectangle = new Rectangle(); + + drawShape(circle); // 输出:画一个圆形 + drawShape(rectangle); // 输出:画一个矩形 + } +} \ No newline at end of file