public class Test1 {
static {
System.out.print("1");
}
public Test1() {
System.out.print("a");
}
}public class Test3 extends Test1 {
static {
System.out.print("2");
}
public Test3() {
System.out.print("b");
}
public static void main(String[] args) {
Test1 a = new Test3();//12ab
System.out.println();
a = new Test3();//ab
}
//结果:12abab
}
本文通过一个Java示例程序展示了静态初始化块与构造函数的执行顺序,并且涉及了类继承情况下静态与非静态成员的加载过程。该示例有助于理解Java中不同初始化阶段的执行机制。
16万+

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



