先静态再普通成员变量,先父类再子类。执行顺序如下:
- 初始化父类静态变量再静态代码块
- 初始化子类静态变量再静态代码块
- 初始化父类普通成员变量再构造方法
- 初始化子类普通成员变量再构造方法
如下图分两种情况
普通类初始化和继承体系初始化
首先我们都知道静态变量是随着类的加载而加载的,所以当类加载进内存的时候,静态变量就已经伴随着类的加载而初始化进内存了,并且静态变量只在类加载时加载一次,存放在方法区中的静态区中。
再者就是全局变量也就是成员变量,全局变量(成员变量)是在创建对象的时候初始化的,所以只要创建对象就会初始化全局变量(成员变量),并存放在堆内存中。