shjniu3000 2016-01-29 03:54 采纳率: 100%
浏览 1391
已采纳

类初始化问题,类中包含自身静态属性

类初始化先初始化静态属性,如果静态属性是自身对象,那个如何处理,如下代码

public class Test {
public static Test t = new Test();
}

这样的话是不是就递归了,实际应该不是,这应该怎么解释,求教 谢谢

  • 写回答

2条回答 默认 最新

  • 一支穿雲箭 2016-01-29 05:10
    关注

    楼上说的对,你这样写相当于
    public class Test{
    static{
    public Test t = new Test();
    }
    }
    static块在类被实例化时,永远只会被调用一次,所以不会构成递归,去掉static就会形成递归

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?