本文共 665 字,大约阅读时间需要 2 分钟。
对文件名为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 输出:000 B 输出:123 C 编译报错 D 输出:No name
分析:子类的构造方法总是首先调用父类的构造方法,如果子类的构造方法中没有明显的指明使用父类的那个构造方法,子类就去调用父类默认的无参构造方法。然而本例中,父类重写了构造方法,只有一个带参数的构造方法而没有无参构造方法,所以子类需要在自己的构造方法中显示的调用父类带参构造方法,即:
public Employee(String id) { super(id);//显示调用父类带参构造函数 empID = id; }所以,本例的答案应该选择C。
转载地址:http://lfsvi.baihongyu.com/