public class StaticTest {
/**
* @param args
*/
public static void main(String[] args) {
//A a = null;// new A();// TODO Auto-generated method stub
A a = new B();
A b = new A();
B bb = new B();
}
}
class A {
static {
System.out.println("static A ");
}
public A(){
System.out.println("construct A");
}
}
class B extends A{
static {
System.out.println("static B");
}
public B(){
System.out.println("construct B");
}
}
console output:
static A
static B
construct A
construct B
construct A
construct A
construct B
本文通过一个Java示例程序展示了静态初始化块与构造函数的执行顺序。具体包括两个类A和B的继承关系中,如何进行静态成员的初始化以及实例化过程中构造函数的调用顺序。
1043

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



