Java类中静态方法和静态变量,静态代码块,构造方法执行顺序
一,Java类执行顺序
子类:ATest
父类:AParentTest
直接调用静态方法
第一种:当直接调用(没有new对象)静态方法时候:父类静态变量(按照顺序)执行----->子类静态变量(按照顺序)----->父类静态代码块------>子类静态代码块--------->执行方法执行。
new对象创建
第二种创建对象:执行父类静态代码---->执行子类的静态代码---->执行父类构造方法----->执行子类的构造方法(注:@PostConstruct修饰的方法是在构造方法之后执行的)
注:静态变量和静态代码块都是按照代码书写顺序执行的,对于静态代码块只要是操作(调用静态方法或者新建一个类等)这个类就会执行(包括静态变量)
二,说明
对于java类的执行顺序,我们可以通过测试了解现象,通过现象意会结果,这还可以帮助我们更好的理解一些执行顺序,不至于看到一些源码,不懂里面执行的逻辑