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

    }

}

 

修改:在子类构造方法中第一句加上 super(nm)即可   或者在父类构造方法中添加空参构造方法

你可能感兴趣的:(Java基础之子类对象创建)