You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

1.6 KiB

AI 交互记录 - Vehicle 抽象类与多态实现

任务描述

定义一个抽象父类 Vehicle,包含抽象方法 run(),实现 Car、Bike、Truck 三个子类。在主方法中创建 Vehicle 数组,存放不同的车辆,遍历调用 run()。

交互过程

第一步:需求分析

  • 用户请求:创建抽象类和子类的完整示例,需要从新建文件开始的分步指导
  • 关键要求
    • 抽象父类 Vehicle 包含抽象方法 run()
    • 三个子类:Car、Bike、Truck
    • 使用多态:Vehicle 数组存放不同车辆对象
    • 遍历调用 run() 方法

第二步:代码生成指导

1. 创建抽象父类 Vehicle.java

public abstract class Vehicle { public abstract void run(); } 要点:使用 abstract 关键字定义抽象类和抽象方法

2. 创建 Car 子类 Car.java

3. 创建 Bike 子类 Bike.java

4. 创建 Truck 子类 Truck.java

5. 创建测试类 TestVehicle.java

涉及的核心知识点

  1. 抽象类(Abstract Class)

    • 使用 abstract 关键字
    • 不能直接实例化
    • 可以包含抽象方法(无方法体)
  2. 继承(Inheritance)

    • 使用 extends 关键字
    • 子类必须实现父类的所有抽象方法
    • 使用 @Override 注解标记重写方法
  3. 多态(Polymorphism)

    • 父类引用指向子类对象
    • Vehicle[] 数组可以存放任何 Vehicle 的子类对象
    • 运行时根据实际对象类型调用对应的方法
  4. 增强 for 循环

    • 简化数组/集合的遍历
    • 语法:for (类型 变量 : 数组)

预期运行结果