小编Ank*_*kit的帖子

何时初始化静态变量?

我想知道什么时候静态变量初始化为默认值.是否正确加载类时,会创建(分配)静态变量,然后执行声明中的静态初始化和初始化?在什么时候给出默认值?这导致了前向参考的问题.

另外请您解释一下这个问题,为什么静态字段没有及时初始化?特别是Kevin Brock在同一网站上给出的答案.我无法理解第三点.

java static initialization

74
推荐指数
6
解决办法
12万
查看次数

如何在Java中初始化字段变量?

我试图运行此程序,但这会产生运行时错误(StackOverflowError).如果在类Static中我将引用对象ob,static,则不会发生错误.任何人都可以请解释我为什么会发生这种情况,请解释我如何初始化字段变量(无论是静态还是非静态以及引用或非引用变量)?

public class Static {

    public Static ob = new Static();
    private int a;

    public void win(Static obj) {
        //System.out.printf("ob.a = %d\n", ob.a);
        obj.a = 15;
        System.out.printf("ob.a = %d", ob.a);
    }
}

public class StaticTest {

    public static void main(String args[])
    {
        Static obj=new Static();
        //Static obj1=new Static();

        // obj.win(obj1.ob);
    }
}
Run Code Online (Sandbox Code Playgroud)

java

0
推荐指数
1
解决办法
141
查看次数

标签 统计

java ×2

initialization ×1

static ×1