给出详细注释// Shape类 public class Shape { public void draw() { System.out.println("正在绘制形状"); } } // Circle类 public class Circle extends Shape { @Override public void draw() { System.out.println("正在绘制圆形"); } } // Rectangle类 public class Rectangle extends Shape { @Override public void draw() { System.out.println("正在绘制矩形"); } } // 测试程序 public class Test { public static void main(String[] args) { Shape shape1 = new Shape(); Shape shape2 = new Circle(); Shape shape3 = new Rectangle(); shape1.draw(); shape2.draw(); shape3.draw(); } }
时间: 2024-02-07 17:02:27 浏览: 74
这段代码涉及到了继承和多态的概念。
首先定义了一个 Shape 类,其中有一个 draw() 方法,输出 "正在绘制形状" 的信息。
然后定义了 Circle 类和 Rectangle 类,它们都继承自 Shape 类,并重写了 draw() 方法。Circle 类的 draw() 方法输出 "正在绘制圆形" 的信息,Rectangle 类的 draw() 方法输出 "正在绘制矩形" 的信息。
最后在 Test 类中创建了三个 Shape 类型的对象:shape1、shape2 和 shape3。其中 shape1 是 Shape 类的对象,shape2 和 shape3 分别是 Circle 类和 Rectangle 类的对象。
在输出结果时,分别调用了这三个对象的 draw() 方法,由于 shape1 是 Shape 类的对象,因此输出的是 "正在绘制形状" 的信息;shape2 和 shape3 分别是 Circle 类和 Rectangle 类的对象,由于它们都重写了 draw() 方法,因此输出的是各自对应的信息。这就是多态的体现,同样的方法调用,根据对象的不同,会有不同的实现方式。
阅读全文