继承和方法:错误 - 找不到符号

时间:2015-02-06 18:23:25

标签: java arrays inheritance methods

我有三节课。类车辆,类卡车和类车。卡车和类车从类车辆延伸。 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新手。任何帮助表示赞赏。 谢谢!!

0 个答案:

没有答案