gpt4 book ai didi

java - 找不到标志。正在寻找父类(super class)而不是子类

转载 作者:行者123 更新时间:2023-11-30 06:20:42 25 4
gpt4 key购买 nike

我有一个程序可以为汽车经销商解释和排序数据,但在尝试检索存储在数组中的汽车颜色时出现错误。

这里是主类和它的子类。

class Car
{
protected String model;
protected int price;
protected int year;

public Car(String m, int y, int p)
{
model = m;
price = p;
year = y;
}
}


class NewCar extends Car
{
protected String color;

public NewCar(String m, int y, int p, String c)
{
super(m, y, p);
color = c;
}

public String toString()
{
return "Model: " + model + "\n"
+ "Year: " + year + "\n"
+ "Price: $" + price + "\n"
+ "Color: " + color + "\n"
+ "Selling Price: " + price + "\n\n";
}
}

这是另一个发生错误的类,位于 if(cars[z].color.equals(shade))。程序在 Car 类中找不到变量颜色。

  class CarDealerShip
{

public String printAllCarsOfColor(String shade)
{
String s = "";

for(int z = 0; z < i; z++)
{
if(cars[z].color.equals(shade))
{
s += "Car " + (z + 1) + "\n" + cars[z].toString();
}
}
return s;
}

我怎样才能让程序在 NewCar 类中查找存在可变颜色的地方?

最佳答案

您的数组 cars 似乎属于 Car[] 类型。在引用数组元素后使用 Car 的引用变量,无法判断它是指 Car 还是 NewCar ,或 Car 的另一个子类。

看起来您希望 cars[z] 具有属性 color,所以也许 cars 应该是 NewCar 类型[] 而不是 Car[]

另一种选择是将属性 color 移动到父类(super class) Car 中,这样任何 Car 都可以有颜色。

关于java - 找不到标志。正在寻找父类(super class)而不是子类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21446103/

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