在java类在,常有一个这样的方法:public class Test{
    private String name = null;
    static {
    ………………
    }
}
这个static中的内容是怎么回事啊?是类运行时执行么?还是……?请高手指教!!

解决方案 »

  1.   

    如果是
    static void main(String[] args){
    }那么这个是一个测试方法,就是这个类是可以直接运行的,入口就是main.如果不是,那你可以当成函数来看。
      

  2.   

    static {} 是用来初始化这个类的 一般是类加载的时候执行
      

  3.   

    一般类中的main做为测试/例子来用。
      

  4.   

    靜態塊,可以在static{...}中定義多個類變量 ,在類加載時候處理,縂優先于類的構造函數,但只運行一次。
      

  5.   

    这是“静态初始化块(static block)”,在类被装载的时候执行。具体地说,有下列这些情况:1. 类的第一个实例被创建之前;
    2. 访问类的静态成员时;
    3. 使用class.forName()方法加载某个类时。由于类只被装载一次,因此静态初始化块中的代码也只执行一次。
      

  6.   

    static int a=1;
    static int b=2;
    你可以这么写
    static{
         int a=1;
         int b=2;
    }
    static语法不变
      

  7.   

    与实例变量不同,类变量属于类。它的初始化不使用构造方法来进行。当对类变量的初始化不适合在声明时完成时。可以在类初始化块中进行初始化。类初始化块是由关键字 static 标志的一对大括号{}括起的的语句组,类初始化块不能再任何方法内。例如:
    class A{
       static int[] array =new int[10];
       static {
            for(int i=0;i<9;i++)
                array[i]=i;
       }
       //...
    }
    这个for循环不适合在声明时初始化,因此采用一个类初始化块。类初始化块仅执行一次。即首次生成那个类的一个对象时。或者首次访问属于那个类的一个static成员时,即便从未生成过那个类的对象。