继承中构造方法的访问特点

 1 public class Fu {
 2 
 3     public Fu() {
 4         System.out.println("父类无参构造");
 5     }
 6 
 7     public Fu(int num) {
 8         System.out.println("父类有参构造!");
 9     }
10 
11 }
 1 public class Zi extends Fu {
 2 
 3     public Zi() {
 4         super(); // 在调用父类无参构造方法
 5 //        super(20); // 在调用父类重载的构造方法
 6         System.out.println("子类构造方法!");
 7     }
 8 
 9     public void method() {
10 //        super(); // 错误写法!只有子类构造方法,才能调用父类构造方法。
11     }
12 
13 }
/*
继承关系中,父子类构造方法的访问特点:

1. 子类构造方法当中有一个默认隐含的“super()”调用,所以一定是先调用的父类构造,后执行的子类构造。
2. 子类构造可以通过super关键字来调用父类重载构造。
3. super的父类构造调用,必须是子类构造方法的第一个语句。不能一个子类构造调用多次super构造。
总结:
子类必须调用父类构造方法,不写则赠送super();写了则用写的指定的super调用,super只能有一个,还必须是第一个。
 */
public class Demo01Constructor {

    public static void main(String[] args) {
        Zi zi = new Zi();
    }

}

 

posted @ 2020-11-01 17:05  Oooooooa  阅读(98)  评论(0)    收藏  举报