gpt4 book ai didi

java - Java中关于多个类的继承

转载 作者:行者123 更新时间:2023-12-01 18:23:51 25 4
gpt4 key购买 nike

假设我有一个名为 MotorVehicle 的父类,它有一些数据成员。然后我还有两个子类,称为 Car 和 Truck,它们扩展了父类 MotorVehicle。

现在,在我的主要方法中,我有一个 MotorVehicle 类型的 ArrayList

ArrayList<MotorVehicle> myList = new ArrayList<MotorVehicle>();

现在,我的主要方法是使用方法从 MotorVehicle 类型的 ArrayList 中的所有四个类中添加、删除、列出、保存、排序对象。

我可以将 CAR 类型的对象添加到此列表中吗?我真的很困惑。下面是一个示例输入(创建的对象存储在 arrayList 中):

Enter what you want to do-ADD,REMOVE,LIST,SAVE,SORT: aDd Enter vehicle type- CAR, BUS, TRUCK, OTHER: CaR
Enter the number of wheels: 4
Enter the engine size in cc: 300
Enter true for power steering else false: false
Enter the purchase date as mm/dd/yyyy: 11/22/2002 Enter the vehicle serial number: ADT13478
Enter the number of doors: 2
Enter the car's color: White

上面的一系列问题创建了一个CAR类型的对象,并存储在myList中。这是如何运作的? myList 不是 Car 类型。

我真的很困惑。

最佳答案

是的。

CarMotorVehicle作为父级,它将继承它的方法,除非在 Car 声明中被覆盖。 。 myList不是 Car 类型但它的类型是 MotorVehicleCar以来是 MotorVehicle 的一种类型它可以被使用。

相反,你不能说 ArrayList<Car> myList = new ArrayList<Car>();然后添加MotorVehicle到列表中,因为某些类型 MotorVehicle不是Car 。所有汽车都是机动车辆,但并非所有机动车辆都是汽车。因此,如果您将机动车辆分组,那么汽车也可以成为其中的一部分。

这就像你有一个名为 Fruit 的 parent 一样。你有 ApplesOranges作为子类。他们都是Fruit并且可能有 colour , taste等等...但是如果你有一个 Apples 的数组然后是Orange不能属于。

关于java - Java中关于多个类的继承,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26879050/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com