其时你直接这样写 static int i=10 不就可以了吗
或者 java允许你将多个static初始化动作组织起来,就像这样
int i;
int j;
static{
  i=10;
  j=10;}

解决方案 »

  1.   

    当类调入内寸时,类中的static成员就开始初始化
    在构造方法之前!对static成员,要么直接赋值(包括默认值),要么在static块中初始化.
      

  2.   

    在Java里面,这个很简单。Sample code:public class Sample
    {
        public static int i = 0;
        public static ArrayList list = new ArrayList();    public static main(String[] args)
        {
            ....
        }
    }看明白了吗?
      

  3.   

    是的,可以在static函数中初始化,但是就要显式调用此static函数。
    我希望是自动的,一用到这个static成员的时候自动初始化
    而像static i = 10这样初始化我又难以做到,因为要访问数据库的,不可能压缩为
    一句表达式这么简单
      

  4.   

    我希望这样:
    public class Sample
    {
        public static int i;
        
        public static f()
        {
           i = ……  //访问DB
        }
    }
    我希望可以一用到Sample.i(或只是首次用到)的时候自动调用f(),不用显式调用
      

  5.   

    to ajiao() :
    其时你直接这样写 static int i=10 不就可以了吗
    或者 java允许你将多个static初始化动作组织起来,就像这样
    int i;
    int j;
    static{
      i=10;
      j=10;}————————————
    我可以把一些很复杂的比如连接并访问数据库初始化i,j的代码放进这个static里面吗?
      

  6.   

    写一个
    static
    {
    }
    他里边的代码将在类被装载时调用
      

  7.   

    class A{
       static int i;
       static{
          f();
       }
       static void f(){
            i=0;
       }
    }
      

  8.   

    放到静态初始化块中。 
    static {}