Java类初始化顺序的摸索

最初遇到的问题是,当一个类静态属性是较为复杂的对象时,如何对其进行初始化。

在实际程序的调用中,对于静态初始化块(A),初始化块(B),构造方法(C)和静态方法(D)这几个模块的调用情况如下:

 

1)当初始化该类时:ABC

2)当调用静态方法时:AD

3)当重复调用静态方法时:ADD

4)当初始化该类后,再调用静态方法时:ABCD

 

即静态块只调用一次。

 

另外,当出现继承结构时,首先执行父类的静态块,之后执行子类中的内容,顺序与上面一样。

你可能感兴趣的:(java,C++,c,C#)