类初始化先初始化静态属性,如果静态属性是自身对象,那个如何处理,如下代码
public class Test {
public static Test t = new Test();
}
这样的话是不是就递归了,实际应该不是,这应该怎么解释,求教 谢谢
类初始化先初始化静态属性,如果静态属性是自身对象,那个如何处理,如下代码
public class Test {
public static Test t = new Test();
}
这样的话是不是就递归了,实际应该不是,这应该怎么解释,求教 谢谢
楼上说的对,你这样写相当于
public class Test{
static{
public Test t = new Test();
}
}
static块在类被实例化时,永远只会被调用一次,所以不会构成递归,去掉static就会形成递归