class test{
static{
   int i=0;
System.out.println(i);
}
public test(){
   int i=1;
System.out.println(i);
}

    public static void main(String args[]){
      new test();
    }
}CSDN论坛浏览器:http://CoolSlob.ys168.com/

解决方案 »

  1.   

    静态成员变量在实例初始化前创建,且只在第一次使用该类型时创建.
      

  2.   

    先有类才能有对象
    类创建时执行静态块,所以输出0
    对象创建时调用构造函数,所以输出1
      

  3.   

    初始化的时候,执行就是这样的,静态语句块先执行的。
      

  4.   

    静态变量在类初始化时最先执行,比构造函数要早执行
      

  5.   

    初始化的顺序包括构造方法的调用顺序:
    *当类调入到内存时,类中的静态成员开始初始化.
    *超类的构造方法按照从最高到最低的顺序调用.
    *类中的非静态对象初始化.
    *调用类的构造方法.
      

  6.   

    静态块在创建对象前就会调用
      

  7.   

    创建类前就已经执行了静态变量了