package forth; import java.awt.*; import java.util.*; class Shape { public void draw() { System.out.println("Shape"); }; } class Circle extends Shape { public void draw() { System.out.println("draw Circle"); } } class Rectangle extends Shape { public void draw() { System.out.println("draw Rectangle"); } } class Triangle extends Shape { public void draw() { System.out.println("draw Triangle"); } } public class five{ public static void main(String[] argc) { ArrayList _list = new ArrayList(); _list.add(new Circle()); _list.add(new Rectangle()); _list.add(new Triangle()); draw(_list); } public static void displayObject(Shape _s) { _s.draw(); } public static void draw(ArrayList _list) { int _sz = _list.size(); for (int _i =0; _i < _sz;_i++){ Shape _s = (Shape)(_list.get(_i)); _s.draw(); } } }简单解释一下
时间: 2024-01-28 21:04:44 浏览: 25
这是一个 Java 代码示例,定义了一个 Shape 类和三个子类 Circle、Rectangle 和 Triangle,它们都继承自 Shape。Shape 类有一个方法 draw(),其默认实现是输出字符串 "Shape"。子类 Circle、Rectangle 和 Triangle 分别覆写了 draw() 方法,输出特定的字符串。five 类中包含一个 main 方法,创建了一个 ArrayList 对象 _list,并向其中添加了一个 Circle、一个 Rectangle 和一个 Triangle 对象。接着调用了 draw(_list) 方法,该方法遍历 _list 中所有的 Shape 对象,调用其 draw() 方法输出相应的字符串。
此代码示例演示了多态的概念,子类 Circle、Rectangle 和 Triangle 分别覆写了父类 Shape 的 draw() 方法,这样在 ArrayList 中存储不同的 Shape 对象,调用其 draw() 方法时会根据实际类型输出相应的字符串。这是 Java 中实现多态的一种方式。
相关问题
import javax.swing.*; import java.awt.*; import java.awt.event.*;
这段代码是 Java 中用来导入 Swing 和 AWT 库中的类,这些类用于创建 GUI(图形用户界面)应用程序。其中,Swing 是 Java 提供的一套 GUI 组件,而 AWT 是 Java 的原始 GUI 工具包。这些库中的类包含了许多用于创建框架、窗口、按钮、标签等 GUI 元素的方法和属性。
import java.awt.event.*含义
import java.awt.event.*是Java中的一个语句,它的含义是导入Java AWT事件包中的所有类和接口。这个包中包含了许多用于处理用户界面事件的类和接口,如ActionEvent、KeyEvent、MouseListener等。通过导入这个包,我们可以使用其中的类和接口来编写处理用户界面事件的代码。