From b7cb5899836b73947ae6fbbeaa6a629f0f5c5025 Mon Sep 17 00:00:00 2001 From: liuyixiao <3520612068@qq.com> Date: Thu, 9 Apr 2026 08:02:30 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=20'w3-1'?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- w3-1 | 46 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 46 insertions(+) create mode 100644 w3-1 diff --git a/w3-1 b/w3-1 new file mode 100644 index 0000000..ddaeceb --- /dev/null +++ b/w3-1 @@ -0,0 +1,46 @@ +// 父类 Shape +class Shape { + // 父类的 draw 方法,供子类重写 + public void draw() { + System.out.println("绘制通用图形"); + } +} + +// 子类 Circle 继承 Shape +class Circle extends Shape { + // 重写 draw 方法,实现圆形的绘制逻辑 + @Override + public void draw() { + System.out.println("绘制圆形 ⭕"); + } +} + +// 子类 Rectangle 继承 Shape +class Rectangle extends Shape { + // 重写 draw 方法,实现矩形的绘制逻辑 + @Override + public void draw() { + System.out.println("绘制矩形 🟦"); + } +} + +// 测试类 +public class ShapeTest { + // 多态核心方法:接收 Shape 类型参数,自动调用对应子类的 draw() + public static void drawShape(Shape s) { + s.draw(); + } + + public static void main(String[] args) { + // 1. 创建不同子类对象 + Shape circle = new Circle(); + Shape rectangle = new Rectangle(); + Shape shape = new Shape(); + + // 2. 调用统一方法,触发多态 + System.out.println("=== 基础题测试 ==="); + drawShape(shape); // 调用父类 draw() + drawShape(circle); // 调用 Circle 的 draw() + drawShape(rectangle); // 调用 Rectangle 的 draw() + } +} \ No newline at end of file