嘿伙计们,我只想快速再保险,这是正确的:
所以你必须在代码段中找到错误 -
在以下每个代码段中查找错误:
//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…..)
}
我不确定这个错误是什么,我弄错了,任何人都有线索?
答案 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;
}