java程序执行顺序

  java程序执行顺序如下:

  1.类中所有属性的默认值(一举而成)

  2. 父类静态属性初始化,静态块,静态方法的声明(按出现顺序执行)

  3. 子类静态属性初始化,静态块,静态方法的声明 (按出现顺序执行)
以上是(类加载过程,不涉及构造方法)

  4. 调用父类的构造方法,

      首先父类的非静态成员初始化,构造块,普通方法的声明(按出现顺序执行)

      然后父类构造方法

  5. 调用子类的构造方法,

      首先子类的非静态成员初始化,构造块,普通方法的声明(按出现顺序执行)

      然后子类构造方法
其中:
1-3:类加载过程,不涉及构造方法
1-5: 实例化过程,涉及构造方法

参考文章:
https://www.cnblogs.com/greatfish/p/5771548.html

原文地址:https://www.cnblogs.com/jiaoqiang/p/8270446.html