最近在总结一些和JVM相关的知识,现在总结一下关于父类和子类加载顺序的问题。简而言之就是先静态后非静态,先父类后子类,具体顺序如下:
- 父类静态变量
- 父类静态代码块(若有多个按代码先后顺序执行)
- 子类静态变量
- 子类静态代码块(若有多个按代码先后顺序执行)
- 父类非静态变量
- 父类非静态代码块(若有多个按代码先后顺序执行)
- 父类构造函数
- 子类非静态变量
- 子类非静态代码块(若有多个按代码先后顺序执行)
- 子类构造函数
所有的静态资源都只会加载一次,非静态资源可以重复加载。
最近在总结一些和JVM相关的知识,现在总结一下关于父类和子类加载顺序的问题。简而言之就是先静态后非静态,先父类后子类,具体顺序如下:
所有的静态资源都只会加载一次,非静态资源可以重复加载。