java类执行顺序

(1)父类静态成员和静态初始化块,按在代码中出现的顺序依次执行。
(2)子类静态成员和静态初始化块,按在代码中出现的顺序依次执行。
(3)父类实例成员和实例初始化块,按在代码中出现的顺序依次执行。
(4)执行父类构造方法。
(5)子类实例成员和实例初始化块,按在代码中出现的顺序依次执行。
(6)执行子类构造方法。
下面是示例代码:


package 类成员执行顺序;
public class Test {
   public static void main(String[] args) {
      new Son();
   }
}
//父类Parent
class Parent {
   {
      System.out.println("Parent的初始化块");
   }
   static {
      System.out.println("Parent的static初始化块");
   }
   
   public Parent() {
      System.out.println("Parent的构造方法");
   }
}
class Son extends Parent {
   {
      System.out.println("Son的初始化块");
   }
   static {
      System.out.println("Son的static初始化块");
   }
   
   public Son() {
      System.out.println("Son的构造方法");
   }
}
上述代码的执行结果如下:
Parent的static初始化块
Son的static初始化块
Parent的初始化块
Parent的构造方法
Son的初始化块
Son的构造方法

猜你喜欢

转载自blog.csdn.net/hjiacheng/article/details/74827598