gpt4 book ai didi

java - 找不到在对象类中定义的符号(方法)

转载 作者:行者123 更新时间:2023-12-01 17:11:23 28 4
gpt4 key购买 nike

这是一个类的代码,该类使用 ArrayList 对计算机零件店的目录进行建模。所有包含的对象(产品)都已定义,包括获取和设置数量变量的方法。

import java.util.*;

public class AvailablesCatalog {

public AvailablesCatalog(List cat1) {

Motherboard item1 = new Motherboard("MD4652", 1995, "Lenovo", 100.50, "Intel", 32, 5, 0);
CPU item2 = new CPU("RTJ357", 1850, "Intel", 182.50, 2.9, 6, 0);
Graphics item3 = new Graphics("P99E0", 2014, "AMD", 70.50, "AMD", 6, 0);
RAM item4 = new RAM("THN46", 1999, "Microsoft", 30.50, "DDR2", 4, 1600, 0);
HD item5 = new HD("M9052", 2001, "LG", 100, "SSD", 2.5, 750, 0);
Monitor item6 = new Monitor("D42", 2006, "LG", 200, "LED", 17.5, "1920x1080", "HDMI", 0);
Keyboard item7 = new Keyboard("F16", 2010, "Microsoft", 25.70, "Wireless", 0);
Mouse item8 = new Mouse("JERRY", 2010, "Microsoft", 30.50, "Laser", "Wireless", 0);
Printer item9 = new Printer("PRNTR", 1995, "Lexmark", 40.50, "Laser", "Colored", 0);

cat1.add(item1);
cat1.add(item2);
cat1.add(item3);
cat1.add(item4);
cat1.add(item5);
cat1.add(item6);
cat1.add(item7);
cat1.add(item8);
cat1.add(item9);

}

public String toString(List cat1) {
int flag = 0;
for(int i=0; i<cat1.size(); i++) {
if(cat1.get(i).getQuantity() != 0) {
System.out.println(cat1.get(i).toString());
}
else {
flag ++;
}
}
if(flag == 9) {
System.out.println("No products");
}
return "-------------------------------------------------------------------------";
}

}

如您所见,我正在尝试使用AvailablesCatalog 类中的getQuantity() 方法。问题是,当我尝试编译时,我收到 getQuantity 方法的找不到符号错误。这是否意味着我实际上还需要在目录的类中定义该方法?在这种情况下,我如何让它返回每个不同产品的数量?提前致谢。

编辑:因为我没有说清楚,所以所有产品对象都有一个共同的产品父类(super class)。那我是不是应该改变 toString(列表cat1)

toString(List<Product> cat1)

编辑2:确实是这样,唯一的问题是我在所有产品中定义了 getQuantity(),而不是基类(Product)再次感谢大家。

最佳答案

因为编译器不知道 List 中的对象属于 Catalog 类型

改变

List cat1

List<Catalog> cat1

toString()

假设 Catalog 是包含此方法的类,并且列表中严格包含此类型的所有对象

关于java - 找不到在对象类中定义的符号(方法),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23615241/

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