/** * 演示:多态 —— 同一 {@link ShapeUtil#printArea(Shape)} 处理圆、矩形、三角形。 * 运行:javac *.java 后执行 java ShapeCalculatorDemo */ public class ShapeCalculatorDemo { public static void main(String[] args) { Shape circle = new Circle(3.0); Shape rectangle = new Rectangle(4.0, 5.0); System.out.println("—— 圆 ——"); ShapeUtil.printArea(circle); System.out.println("—— 矩形 ——"); ShapeUtil.printArea(rectangle); System.out.println("—— 多态数组统一处理 ——"); Shape[] shapes = {circle, rectangle}; for (Shape s : shapes) { ShapeUtil.printArea(s); } // 测试drawShape方法 System.out.println("\n—— 测试绘制图形 ——"); ShapeUtil.drawShape(circle); ShapeUtil.drawShape(rectangle); // 测试Computer和USB设备 System.out.println("\n—— 测试Computer和USB设备 ——"); Computer computer = new Computer(); Mouse mouse = new Mouse(); Keyboard keyboard = new Keyboard(); System.out.println("使用鼠标:"); computer.useUSB(mouse); System.out.println("\n使用键盘:"); computer.useUSB(keyboard); // 测试学生管理系统 System.out.println("\n—— 测试学生管理系统 ——"); StudentManagementSystem sms = new StudentManagementSystem(); // 创建学生对象 Student student = new Student("张三", "110101200001011234", "2024001", "计算机科学与技术"); // 创建教师对象 Teacher teacher = new Teacher("李四", "110101198001011234", "T2024001", "Java程序设计"); // 添加学生 System.out.println("添加学生:"); sms.addPerson(student); // 添加教师 System.out.println("添加教师:"); sms.addPerson(teacher); } }