总结一下执行流程就是:
父类静态变量和静态代码块;
子类静态变量和静态代码块;
父类普通成员变量和普通代码块;
父类的构造函数;
子类普通成员变量和普通代码块;
子类的构造函数。
1, 父类静态变量初始化
2, 父类静态块初始化
3, 子类静态变量初始化
4, 子类静态块初始化
5, main 方法执行
6, 父类构造器初始化
7, 子类构造器初始化
从结果中,我们可以看出两点:
1, 静态变量和静态块比类构造器优先初始化。
2, 被 static 修饰的方法,在类初始化的时候并不会初始化,只有当自己被调用时,才会被执行。
网友评论