java中子类的构造函数要继承父类的构造函数

子类的构造方法总是先调用父类的构造方法,如果子类的构造方法没有明显地指明使用父类的哪个构造方法,子类就调用父类不带参数的构造方法。

而父类没有无参的构造函数,所以子类需要在自己的构造函数中显示的调用父类的构造函数。

下面这个程序就是错误的,加个super(id)就可以了

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

你可能感兴趣的:(java中子类的构造函数要继承父类的构造函数)