继承----静态代码快、构造方法、代码块、普通方法的执行顺序

父类:

子类:

测试类:

执行顺序运行结果:

执行流程分析:

 1.java程序中静态内容是随着类的加载而加载的,由于存在继承关系,因此先加载父类而后加载子类,相应的就是先执行父类静态代码块,再执行子类静态代码块

 2.类加载完成后程序就开始执行main方法中,紧接着进行初始化工作,由于代码块执行优于构造方法,因此出现先执行父类代码块,再执行父类构造方法,紧接着子类代码块,子类构造方法。

 3.类的初始化是分层初始化的,先对父类进行初始化,再对子类进行初始化。在目标类中执行顺序为:成员变量初始化:默认初始化----》显示初始化----》构造方法初始化

原文地址:https://www.cnblogs.com/berandwaddle/p/11347276.html