gpt4 book ai didi

java - 数组存储两个不同类的对象?

转载 作者:行者123 更新时间:2023-12-02 12:26:38 31 4
gpt4 key购买 nike

我是java和一般编程的初学者。基本上,我想知道是否可以将不同类的对象存储在同一个数组中。例如,不要像这样创建 2 个单独的数组:

//AssembledPart is subclass of Part
Part[] part = new Part[4];
part[0] = new Part("p101", "Crank", 218, 12.20);
part[1] = new Part("p102", "Pedal", 320, 14.30);
part[2] = new Part("p103", "Handlebar", 120, 35.50);
part[3] = new Part("p104", "Stem", 90, 20.00);

AssembledPart[] asPart = new AssembledPart[2];
asPart[0] = new AssembledPart("p183", "Crank-Pedal", 80, 3.50, part[0], part[1]);
asPart[1] = new AssembledPart("p184", "Handlebar-Stem", 30, 1.50, part[2], part[3]);

有没有其他方法可以将它们合并到一个数组中。如果有方法,我该怎么做。

最佳答案

如果 AssembledPartPart 的子类(如您在评论中指出的),那么您所要求的就是微不足道的。子类始终可以分配给其父类,因此您需要做的就是:

Part[] part = new Part[6];
part[0] = new Part("p101", "Crank", 218, 12.20);
part[1] = new Part("p102", "Pedal", 320, 14.30);
part[2] = new Part("p103", "Handlebar", 120, 35.50);
part[3] = new Part("p104", "Stem", 90, 20.00);
part[4] = new AssembledPart("p183", "Crank-Pedal", 80, 3.50, part[0], part[1]);
part[5] = new AssembledPart("p184", "Handlebar-Stem", 30, 1.50, part[2], part[3]);

关于java - 数组存储两个不同类的对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33181391/

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