子类调用父类默认构造函数

来源:互联网 发布:知乎客厅地板还是地砖 编辑:程序博客网 时间:2024/05/17 23:57

对文件名为Test.java的java代码描述正确的是()

class Person {    String name = "No name";    public Person(String nm) {        name = nm;    }}class Employee extends Person {    String empID = "0000";    public Employee(String id) {        empID = id;    }}public class Test {    public static void main(String args[]) {        Employee e = new Employee("123");        System.out.println(e.empID);    }}

A  输出:0000
  输出:123
C    编译报错
D  输出:No name
分析:子类的构造方法总是首先调用父类的构造方法,如果子类的构造方法中没有明显的指明使用父类的那个构造方法,子类就去调用父类默认的无参构造方法。然而本例中,父类重写了构造方法,只有一个带参数的构造方法而没有无参构造方法,所以子类需要在自己的构造方法中显示的调用父类带参构造方法,即:
public Employee(String id) {        super(id);//显示调用父类带参构造函数        empID = id;    }
所以,本例的答案应该选择C。

0 0
原创粉丝点击