用以下程序做一个小测试,也没什么好解释的,运行结果解释一切,直接上代码:
InitOrderTest.java
package test;
class Parent {
{
System.out.println("parent block");
}
static {
System.out.println("parent static block");
}
public Parent() {
System.out.println("parent constructor");
}
}
class Child extends Parent {
{
System.out.println("child block");
}
static {
System.out.println("child static block");
}
public Child() {
System.out.println("child constructor");
}
}
public class InitOrderTest {
public static void main(String[] args) {
new Child();
}
} 运行结果:
参考资料:Java中static用法详解
本文通过一个简单的Java程序演示了类加载过程中的初始化顺序,包括父类静态块、子类静态块、父类构造块、子类构造块等的执行顺序。
2551

被折叠的 条评论
为什么被折叠?



