java是一种可以撰写跨平台应用软件的面向对象的程序设计语言,是由Sun Microsystems公司于1995年5月推出的Java程序设计语言和Java平台(即JavaEE, JavaME, JavaSE)的总称。本站提供基于Java框架struts,spring,hibernate等的桌面应用、web交互及移动终端的开发技巧与资料

保持永久学习的心态,将成就一个优秀的你,来 继续搞起java知识。

http://www.cnblogs.com/guoyuqiangf8/archive/2012/10/31/2748909.html

顺序如下:

父类静态初始化块

子类静态初始化块

父类非静态初始化块

父类的构造方法

子类非静态初始化块

子类的构造方法

如果有静态方法的调用的话,静态初始化块和静态方法的调用的先后顺序,是根据写在类中的先后顺序来的。

例如:下面的的情况的话,先调用静态初始化块,再调用parentStaticMethod2。

static

{

System.out.println("父类静态初始化块");

}

public static int t = parentStaticMethod2();

public static int parentStaticMethod2()

{

System.out.println("父类的静态方法2");

return 9;

}

如果把调用静态方法的赋值语句放到最前面的话,先调用parentStaticMethod2,再调用静态初始化块。

public static int t = parentStaticMethod2();

static

{

System.out.println("父类静态初始化块");

}

public static int parentStaticMethod2()

{

System.out.println("父类的静态方法2");

return 9;

}

因为水平有限,难免有疏忽或者不准确的地方,希望大家能够直接指出来,我会及时改正。一切为了知识的分享。

后续会有更多的精彩的内容分享给大家。