继承----静态代码快、构造方法、代码块、普通方法的执行顺序
父类:
子类:
测试类:
执行顺序运行结果:
执行流程分析:
1.java程序中静态内容是随着类的加载而加载的,由于存在继承关系,因此先加载父类而后加载子类,相应的就是先执行父类静态代码块,再执行子类静态代码块
2.类加载完成后程序就开始执行main方法中,紧接着进行初始化工作,由于代码块执行优于构造方法,因此出现先执行父类代码块,再执行父类构造方法,紧接着子类代码块,子类构造方法。
3.类的初始化是分层初始化的,先对父类进行初始化,再对子类进行初始化。在目标类中执行顺序为:成员变量初始化:默认初始化----》显示初始化----》构造方法初始化