扩展类错误

问题描述:

我正在为一类无用的类项目创建两个类。这些课程是员工和医生,医生扩展员工。似乎很简单,对吧?我也是这么想。扩展类错误

这里是我的员工(不包括标题)代码:

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()的调用。