检查以下代码并改正:package chapter03; class Emp{ public String name; public int salary; public Emp(String name,int salary) { this.name = name; this.salary = salary; } public void work() { System.out.println("员工需要工作"); } } class Programer extends Emp{ public Programer(){ super(); } public Programer(String name, int salary) { super(name,salary); } } public class Exercise3_1 { public static void main(String[] args) { // TODO Auto-generated method stub Emp emp = new Emp(null, 0); emp.work(); Programer programer = new Programer(); programer.work(); } }
时间: 2023-05-21 21:05:34 浏览: 189
创建HR的员工详细信息视图-Oracle公司oracle学习文档
在 Programer 类的默认构造函数中,需要调用父类的构造函数 super(name, salary),以便正确初始化父类的 name 和 salary 成员变量。因此可以将其修改为:
class Programer extends Emp{
public Programer(){
super(null,0);
}
public Programer(String name, int salary) {
super(name,salary);
}
}
此外,在程序的 main 函数中,创建 Programer 对象时应该传入姓名和工资等参数,以便正确初始化 Programer 对象。因此可以将其修改为:
Programer programer = new Programer("张三", 5000);
programer.work();
阅读全文