总结子类父类的调用顺序

1 public class zilei2 extends zilei1
2 {
3        public zilei2()
4        {
5            System.out.println("调用子类2");
6        }
7 }
 1 public class zilei1 extends fulei
 2 {
 3 
 4     public zilei1 (String Pinpai, String Xinghao)
 5     {
 6         super (Pinpai, Xinghao);
 7     }
 8     public zilei1()
 9     {
10         /*String Pinpai = "美的";
11         String Xinghao = "HB350";
12         System.out.println("我是"+Pinpai+Xinghao);*/
13         System.out.println("调用子类1");
14     }
1 public class fulei {
2     public fulei()
3     {
4         System.out.println("调用父类");
5     }
1 public class test {
2 
3     public static void main(String[] args) {
4             zilei2 qq = new zilei2();
5             System.out.println();    
6         }
7

调用构造方法是从父类开始的,然后调用子类1,最后调用子类2。如果要调用父类的存在参数构造方法必须要使用super关键字,

当调用子类2的时候,构造方法是从子类1继承来的,程序必须先构造一个子类1的构造方法,否则也没有子类2的调用,程序会先去找子类1里面的方法,子类1又继承了父类的特性,构造了父类的构造方法,所以程序输出了父类的方法,一次输出是这样的顺序。

原文地址:https://www.cnblogs.com/wgbs25673578/p/4884408.html