Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/apache-kafka/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 扩展类时出错_Java_Constructor_Extends - Fatal编程技术网

Java 扩展类时出错

Java 扩展类时出错,java,constructor,extends,Java,Constructor,Extends,我正在为一个无用的类项目创建两个类。这些类是Employee和Doctor,其中Doctor扩展了Employee。看起来很简单,对吧?我也这么认为 以下是我的员工代码(不包括标题): 这是我的医生代码(不包括标题): 这应该能起作用,对吗?唉,当我尝试编译Doctor类(Employee类编译得很好)时,BlueJ说“类Employee中的构造函数Employee不能应用于给定的类型;必需:java.lang.String找到:无参数原因:实际参数列表和形式参数列表长度不同” 我知道我可能做错

我正在为一个无用的类项目创建两个类。这些类是Employee和Doctor,其中Doctor扩展了Employee。看起来很简单,对吧?我也这么认为

以下是我的员工代码(不包括标题):

这是我的医生代码(不包括标题):

这应该能起作用,对吗?唉,当我尝试编译Doctor类(Employee类编译得很好)时,BlueJ说“类Employee中的构造函数Employee不能应用于给定的类型;必需:java.lang.String找到:无参数原因:实际参数列表和形式参数列表长度不同”


我知道我可能做错了什么,但我不知道是什么。再说一次,可能只是我在使用BlueJ;我没有试过用cmd的任何其他IDE编译它。。。然而你知道我做错了什么吗

您需要添加一个
super(n)到您的医生构造函数


在Java中,构造函数不会像那样自动链接。在到达Doctor构造函数之前,它会查找基类的无参数构造函数,除非Doctor构造函数中的第一条语句是对super()的调用。

您需要添加一个
super(n)到您的医生构造函数

在Java中,构造函数不会像那样自动链接。在到达Doctor构造函数之前,它会查找基类的无参数构造函数,除非Doctor构造函数中的第一条语句是对super()的调用

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;
    }
}