1 /** 2 * 继承关系中,父子类构造方法的访问特点 3 * 4 * 1、子类构造方法中有一个默认隐含的"super()"调用,所以一定是先调用父类构造,后执行的子类构造 5 * 2、子类构造可以通过super关键字来调用父类重载构造 6 * 3、super的父类构造调用,必须是子类构造方法的第一句,子类的构造不能多次调用super构造 7 * 总结: 8 * 子类必须调用父类的构造方法,不写则赠送super(),写来则用写的指定的super调用,super只能有一个,还必须是第一个。 9 */ 10 public class Demo01Constructor { 11 public static void main(String[] args) { 12 Zi zi = new Zi(); 13 } 14 }
打印结果:
父类无参构造方法
子类构造方法
public class Fu { public Fu() { System.out.println("父类无参构造方法"); } public Fu(int num){ System.out.println("父类有参数构造方法"); } }
1 public class Zi extends Fu { 2 public Zi(){ 3 super(); 4 System.out.println("子类构造方法"); 5 } 6 7 public void method() 8 { 9 //super();//错误写法,只有子类构造方法,才能调用父类构造方法。 10 } 11 }