gpt4 book ai didi

java - 如何在Java中向下转换数组?(多态)

转载 作者:行者123 更新时间:2023-12-01 20:08:08 24 4
gpt4 key购买 nike

我目前有一个 Supercar 类,它扩展了 Car 类,并且想要向下转换 Car 类的数组。

My code :

System.out.println("\nLab Task 6");
Car[] cars = new Car[10]; //object array
cars[0] = new SuperCar( model: "Lambo", cc: 8000, type: "Car", transmission: "Manual", powertrain: "Electric", maxSpeed: 300);
cars[1] = new SuperCar( model: "BMW", cc: 4500, type: "Car", transmission: "Manual", powertrain: "Electric", maxSpeed: 200);
Supercar superD = (SuperCar)cars[];

代码中有什么问题或错误吗?

最佳答案

首先:如果您不包含屏幕截图而是直接粘贴代码并突出显示,这将是有益的。这样,我们就可以直接提供与您问题中的代码直接相关的编辑后的代码。

您试图实现的总体思想被称为加宽,即将子类的实例视为其父类(super class)的实例,这样做是完全可以的。相反的 Action 称为缩小。但是,就您的代码而言,您无法将对象数组转换为另一个对象,您需要输入索引才能从数组访问汽车,然后将其转换为专用类 SuperCar。

这样的事情应该有效:

SuperCar superD = (SuperCar) cars[0];

尽管您必须考虑如何访问阵列中的所有不同汽车。

关于java - 如何在Java中向下转换数组?(多态),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58973822/

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