package cn.yyhl.day15;
/*
在继承关系中,父子类构造方法访问的特点:
1子类构造方法当中有一个默认隐含的“super();”调用,所以一定是先调用父类的构造方法,后执行子类的构造方法。
2子类构造方法可以通过super关键字来调用父类的重载构造。
3super发父类构造调用,必须是子类构造方法的第一个语句。不能一个子类构造调用多次super构造。
总结:
子类必须调用父类的构造方法,不写则赠送super();写了则用写的指定的super调用,super只能有一个,还必须是第一个。
*/
public class Constructor {
public static void main(String[] args) {
Zi5 zi = new Zi5();//父类的无参构造方法! 子类的无参构造方法!
}
}
package cn.yyhl.day15;
public class Fu5 {
public Fu5(){
System.out.println("父类的无参构造方法!");
}
public Fu5(int num){
System.out.println("父类的有参构造方法!");
}
}
package cn.yyhl.day15;
public class Zi5 extends Fu5 {
public Zi5(){
// super();////通过super调用父类的有无参构造方法! 不能同时用super一起调用父类有参构造方法
super(10);//通过super调用父类的有参构造方法! 不能同时用super一起调用父类无参构造方法
System.out.println("子类的无参构造方法!");
}
}