1、超类静态变量;超类静态初始化块。--按排列顺序;
2、子类静态变量;子类静态初始化块。--按排列顺序;
3、超类成员变量;超类初始化块。--按排列顺序;
4、超类构造函数。
5、子类成员变量;子类初始化块。--按排列顺序;
6、子类构造函数。
            
 注1:按排列顺序--是指哪个代码写在前面就先初始化谁。 注2:如果谁觉得很有用,就开个贴给我点分吧,^_^--------------下面是别人的例子,供参考。 class Super { Super() {
System.out.println("超类默认构造器.n-------------");
} {
System.out.println("超类初始化块.n-------------");
} Print s1 = new Print("超类变量.n-------------");
static {
System.out.println("超类静态初始化块.n-------------");
} static Print s2 = new Print("超类静态变量.n-------------");}class Class extends Super { static Print s4 = new Print("静态变量.n-------------"); static {
System.out.println("静态初始化块.n-------------");
} public Class() {
System.out.println("构造器.n-------------");
} Print s3 = new Print("变量.n-------------");
{
System.out.println("初始化块.n-------------");
}
}class Print {
public Print(String s) {
System.out.println(s);
}
}public class ClassInitializtion {
public static void main(String[] args) {
new Class();
}
}

解决方案 »

  1.   

    恩恩。。这个也有一个。。一起拿来。。
    http://dev.csdn.net/article/76/76370.shtm总结:
    1、类只有在使用New调用创建的时候才会被JAVA类装载器装入
    2、JAVA类首次装入时,会对静态成员变量或方法进行一次初始化
    3、创建类实例时,首先按照父子继承关系进行初始化
    4、类实例创建时候,首先初始化块部分先执行,然后是构造方法;然后从
       本类继承的子类的初始化块执行,最后是子类的构造方法
    5、类消除时候,首先消除子类部分,再消除父类部分
      

  2.   

    靠那个参考例子真恶心鄙视一下RUN完了就删掉吧
      

  3.   

    总结:
    1、类只有在使用New调用创建的时候才会被JAVA类装载器装入
       不对,Class.forName就可以,不需要使用new创建实例
    2、JAVA类首次装入时,会对静态成员变量或方法进行一次初始化
       和方法没有关系