gpt4 book ai didi

java - 子类如何调用父类(super class)的参数化构造函数?

转载 作者:行者123 更新时间:2023-12-01 07:07:22 24 4
gpt4 key购买 nike

为什么我在 Employee 构造函数的启动时遇到错误,找不到符号构造函数 Person?

class Person {
String name = "noname";

Person(String nm) {
name = nm;
}
}

class Employee extends Person {
String empID = "0000";

Employee(String eid) {// error
empID = eid;
}
}

public class EmployeeTest {
public static void main(String args[]) {
Employee e1 = new Employee("4321");
System.out.println(e1.empID);
}
}

最佳答案

您需要调用

super(name);

作为构造函数 Employee 的第一条语句,否则编译器将隐式调用不存在的 Person 的无参构造函数

其中 nameEmployee 的添加参数

Employee(String eid, String name) {
super(name);
empID = eid;
}

看一下示例 8.2-1 from the JLS它显示了类似的示例在没有显式 super 方法调用的情况下如何失败。

关于java - 子类如何调用父类(super class)的参数化构造函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21146248/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com