gpt4 book ai didi

Java Arraylist 和继承调用正确的方法。帮助

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

我创建了 4 个类:CdDvdItemDatabaseCdDvdItem 扩展而来。 Database 类存储 ItemsArrayList

我一直在Database类中创建一个方法,该方法调用CdDvd中的显示方法。不过我设法显示了Cd

如何显示所有项目?例如

Item number = 1
CD

Item number = 2
DVD

Item number = 3
Cd

非常感谢。

编辑:

CdDvd 的显示方式不同。

public void displayAll() {

for (int i = 0; i < items.size(); i++) {

Cd theCd = (Cd) items.get(i);
// Dvd theDVD = (Dvd) items.get(i);

System.out.println("Item Number = " + i);
theCd.display();

// theDvd.display

}

}

我的类图是:

Class Diagram http://img571.imageshack.us/img571/1460/unledsca.png

最佳答案

你可能应该有public abstract void display();在你的Item类(class)。人们会认为这对于 Items 是有意义的。能够展示自己。然后你可以在 CD 中实现它和DVD (听起来你已经有了)。那么你就不需要沮丧了:

public void displayAll()
{
for (int i = 0; i < items.size(); i++) {
Item item = (Item) items.get(i);
System.out.println("Item Number = " + i);
item.display();
}
}

如果您使用支持泛型的 JDK 版本,请考虑使用 ArrayList<Item>而不是ArrayList 。然后你就可以摆脱Item Actor 阵容也是如此。

关于Java Arraylist 和继承调用正确的方法。帮助,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5922567/

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