存储在方法区的类中,jvm加载类时会执行静态代码块,每个代码块只执行一次,按顺序执行
存储在堆内存的对象中,有默认的初始化值
存储在栈内存的方法中,无默认初始化值
初始化构造时,先父后子;父子静态都初始化完后,跟据需要再初始化父子非静态部分
规律二、类加载顺序:静态——非静态——构造函数
java中的类只有在被用到的时候才会被加载
java类只有在类字节码被加载后才可以被构造成对象实例
综上,
类内部静态块 = 类静态属性(按出先后顺序初始化) > 类内部属性 > 类构造函数
扩展
https://www.cnblogs.com/UncleWang001/articles/10429801.html
https://www.cnblogs.com/UncleWang001/articles/13453679.html
原文:https://www.cnblogs.com/Zeiion/p/14612431.html