关于继承和static代码块的小例子,可以帮助理解其调用顺序;
运行结果:
public class Hello {
public static void main(String[] args) {
A a = new B();
a = new B();
}
}
class A {
static {
System.out.println("A的static块");
}
public A() {
System.out.println("A的构造函数");
}
}
class B extends A {
static {
System.out.println("B的static块");
}
public B() {
System.out.println("B的构造函数");
}
}
运行结果:
A的static块
B的static块
A的构造函数
B的构造函数
A的构造函数
B的构造函数
本文通过一个Java示例程序展示了在继承关系中static代码块及构造函数的调用顺序。具体而言,当创建子类实例时,父类的static代码块先于子类的static代码块执行,随后是父类构造函数,最后才是子类构造函数。
424

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



