构造函数Vehicle(String [],int)未定义

时间:2012-11-19 01:32:18

标签: java class constructor

我是java的新手,无法解决这个问题! 这是它应该是什么样子,但它给了我一个错误,我不确定我是否必须转换它! 或者我做错了什么!!!

这是我的要求: 使用提供的车辆数据为变量分配值。有关访问这些车辆数据值的信息,请参阅数据文件布局信息。                       速度

public class Bicycle extends Vehicle implements IOutput {

private static int speeds;

public Bicycle(String[] vehicleData) {
    super(vehicleData,speeds);   // get error: The constructor Vehicle(String[], int) is undefined

            // or i should this one :
    speeds = Convert.toInteger(vehicleData[0]);
}

这是车辆类

public Vehicle(String[] vehicleData) {
    count++;
    owner= new Owner(vehicleData);

    setVehicleType(Convert.toInteger(vehicleData[0]));
    make = vehicleData[1];
    model = vehicleData[2];
    color = vehicleData[3];
    purchaseDate = vehicleData[4];
    cost = Convert.toDouble(vehicleData[5]);
}

2 个答案:

答案 0 :(得分:4)

你的Vehicle类中的构造函数只接受string [],你传递一个字符串[]和一个int。

更改

super(vehicleData,speeds);   // get error: The constructor Vehicle(String[], int) is undefined

super(vehicleData);   // your error'd now disappear

或在超类车辆中声明速度。

int speed;
public Vehicle(String[] vehicleData, int speed)

答案 1 :(得分:2)

super正在调用Vehicle构造函数,它只接受String,而不是String和int。

改为此。

// remove static
int speed;
public Bicycle(String[] vehicleData) {
    super(vehicleData);
    speeds = Integer.valueOf(vehicleData[0]);
}