我有三节课。类车辆,类卡车和类车。卡车和类车从类车辆延伸。 class Vehicle有三个字段:
protected String model;
protected int year;
protected int price;
Class Truck有一个字段:
private String color;
和方法:
public String getColor(){
return color;
}
Class Car有一个字段:
private boolean rusty;
我有一个名为vehicles(存储30个对象)的数组来存储Truck对象以及Car对象。
我有另一个名为VehicleDealer的类,我在其中创建了数组和不同的方法,包括:
int VEHICLE_COUNTER= 0;
public void addTruck(String m, int y, int p,String c){
Vehicle truck1 = new Truck( m, y, p, c);
vehicles[VEHICLE_COUNTER] = truck1;
VEHICLE_COUNTER = VEHICLE_COUNTER + 1;
}
public void addCar(String m, int y, int p,boolean r){
Vehicle car1 = new Car( m, y, p, r);
vehicles[VEHICLE_COUNTER] = car1;
VEHICLE_COUNTER = VEHICLE_COUNTER + 1;
}
public String printAllVehiclesOfColor(String c){
String s = "";
for (int i=0; i < VEHICLE_COUNTER; i++) {
String x = vehicles[i].getColor();
if(x == c){
s += vehicles[i].printThis(i) + "\n";
}
}
return s;
}
我有一个主类,看起来像这样:
public class TestDealer{
public static void main(String[] args){
VehicleDealer dealer = new VehicleDealer();
dealer.addTruck("Ford", 2012, 55000, "Green");
dealer.addTruck("Ford", 2001, 23050, "Black");
dealer.addCar("BMW", 2010, 17000, false);
System.out.println(dealer.printAllVehiclesOfColor("Green"));
}
}
在这行代码中,我收到一条错误,指出找不到getColor()的符号。
for (int i=0; i < VEHICLE_COUNTER; i++) {
String x = vehicles[i].getColor();<---------------
if(x == c){
s += vehicles[i].printThis(i) + "\n";
}
}
所以我把getColor()方法放在类Vehicle中,然后尝试编译代码,但它没有工作,因为我没有在类Car中声明一个颜色字段。我的问题要求我在卡车类中声明颜色字段。
我的代码出了什么问题?我是Java新手。任何帮助表示赞赏。 谢谢!!