扩展类错误
问题描述:
我正在为一类无用的类项目创建两个类。这些课程是员工和医生,医生扩展员工。似乎很简单,对吧?我也是这么想。扩展类错误
这里是我的员工(不包括标题)代码:
public class Employee {
protected String name;
public Employee(String n) {
name = n;
}
}
这里是我的医生代码(不包括标题):
public class Doctor extends Employee {
protected String school;
public Doctor(String n, String s) {
name = n;
school = s;
}
}
这应该工作,对不对?唉,当我尝试编译Doctor类(Employee类编译好)时,BlueJ表示“Employee类中的构造函数Employee不能应用于给定类型;必需:java.lang.String found:无参数reason:实际和正式参数列表的长度不同“。
我知道我可能在这里做错了什么,但我不知道它是什么。同样,我可能只是在使用BlueJ;我还没有尝试使用cmd编译它的任何其他IDE ......但是......我在做什么错误的任何想法?
答
您需要在您的Doctor构造函数中添加super(n);
。
在Java中,构造函数不会像这样自动链接。在它到达Doctor构造函数之前,它会查找基类的无参数构造函数,除非Doctor构造函数中的第一条语句是对super()的调用。