这个java代码段出错,只是检查一下它是否正确

时间:2012-10-11 16:22:29

标签: java extends

嘿伙计们,我只想快速再保险,这是正确的:

所以你必须在代码段中找到错误 -

在以下每个代码段中查找错误:

//Superclass
public class Vehicle{
(member declarations…..)
}
//subclass
Public class car expands Vehicle{
(Member declarations….)
}

因此错误是它扩展的事实,应该扩展而不是正确吗?

3.  //superclass
public class Vehicle{
     private double cost; 
  public Vehicle(double c){
      cost = c;
}
(Other methods……)
}
//subclass
public class Car extends Vehicle{
    private int passengers;
   public Car(int p){
    passengers = c;
}
(Other methods…..)
}

我不确定这个错误是什么,我弄错了,任何人都有线索?

2 个答案:

答案 0 :(得分:3)

java中没有“expands”关键字。您总是必须使用extends进行类继承。

第二个示例中的类Car定义了一个新的构造函数。子类中的新构造函数必须将数据转发到父类构造函数,如下所示:

public Car(double c, int p) {
    super(c); // call the super constructor!
    passengers = p; // your normal constructor code
}

答案 1 :(得分:0)

default中添加额外的Vehicle构造函数:

  public Vehicle(){
     this.cost = 0.0;
  }

或者在Car构造函数中添加另一个double类型的参数,并根据@main的建议调用super -

您还可以将Car构造函数更新为:

public Car(int p) {
   super(0.0); 
   passengers = p; 
}