0 0

Java 初始化问题10

代码如下:

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

	public static void main(String[] args)
	{
		Test t = new Test();
	}
}

 

想请问一下,程序为何会报错误:Exception in thread "main" java.lang.StackOverflowError;

 

堆栈溢出了;据我测试得到的结果是:上面那行初始化代码一直循环执行导致堆栈溢出,想知道为什么?

 

PS:第一次在ITeye发帖,以前是在CSDN发帖,如有不对的地方,请指出;

 


问题补充:就是那个main方法前Test t = new Test();  这条实例化语句和构造方法一直循环,搞不懂;

2014年7月20日 20:45

7个答案 按时间排序 按投票排序

0 0

采纳的答案

你说的没错,请看下面的报错信息。代码从main入口进入,实例化Test()类,发现有Test类型的属性,于是实例化该属性,于是就进入了无暇循环中了。直到报溢出异常。

引用
Exception in thread "main" java.lang.StackOverflowError
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
at Test.<init>(Test.java:6)
我把代码加上显示构造函数,debug模式运行,你可以更直观看到原因:

public class Test {
	public Test()
	{
		System.out.println("我在实例化");
	}
	Test t = new Test();
	
	public static void main(String[] args) {
		System.out.println("begin");
		Test t = new Test();
	}
}

2014年7月20日 23:54
0 0

从代码分析过程,在Test类中定了一个Test对象,比将其实例化,在主函数main方法中,
定义了Test对象并实例化后,执行程序将进入Test对象中初始化对象的方法和属性,在初始化过程中又出现了创建Test实例对象,因此,程序不多的循环,知道jvm中分配的堆内存使用完,不能够在进行分配内存空间给新建的Test对象,从而抛出内存溢出异常。

2014年7月21日 10:44
0 0

JAVA中初始化的顺序:
加载类、 静态成员变量初始化、 静态代码块、非静态成员变量初始化、 构造方法。后两个是对象的初始化时初始化的。

你的main方法里new Test() ,new了一个Test对象,
想要完成Test对象的初始化,就得初始化它的非静态成员变量,于是你又new了一个Test对象,想要完成第二个Test对象的初始化你就得初始化它的非静态成员变量...如此下去 ,你会一直new Test对象,你的栈内存就满了。

http://docs.oracle.com/javase/specs/jvms/se7/html/jvms-2.html#jvms-2.5.2

2014年7月21日 10:15
0 0

首先,java产生StackOverflowError的原因是什么?
简单来说,就是死循环。循环的嵌套层数达到了环境的设定值。
回到你的问题上
那是因为你不断在new出得Test的。

2014年7月21日 09:35
0 0


1、进入当前类构造方法。
2、进入父类构造方法递归直到java.lang.Object类构造方法。
3、执行java.lang.Object类构造方法,顺序依次为成员变量初始与初始化块(安装上下文顺序),对应调用的构造方法体。
4、执行java.lang.Object类的直接子类的构造函数,这个过程递归到当前类。
5、当前类执行顺序与前面java.lang.Object类相同。

构造方法的本质其实就是一个普通的无返回参数的名字叫做<init>的方法,不过虚拟机调用这个方法的指令与其它方法不同而已,它的调用指令与调用private方法的指令相同。
在虚拟机中存在三种方法的调用指令,这三种调用指令在效率上不同。
接口方法的指令调用,这种调用速度最慢。
普通类方法的调用指令,这种调用速度中等。
构造方法与私有方法调用指令,这种调用速度最快。

从以上回答,楼主兄弟,应该知道你的问题出在那里了吧

2014年7月21日 09:11
0 0

属性不是基本类型你就直接实例化,必须放到static 或方法里面啊。。。

2014年7月21日 08:49
0 0

你每次在加载类的时候new了本类 所以在主入口函数运行 就进入死循环   理论指导就好 如果有兴趣可以去研究下java  jvm

2014年7月21日 01:37

相关推荐

    java数组初始化详解

    Java 数组初始化详解 Java 数组初始化是 Java 编程语言中的一种基本概念,它允许开发者创建和初始化数组,以便于存储和操作数据。在本文中,我们将对 Java 数组初始化进行详细的介绍,包括一维数组和二维数组的声明...

    java 初始化与方法

    Java初始化与方法是Java编程语言中的核心概念,它们在程序执行过程中起着至关重要的作用。本文将深入探讨Java中的初始化过程、方法的定义与调用,以及与之相关的源码和工具应用。 首先,让我们从类的初始化开始。在...

    java代码的初始化顺序demo

    在Java编程语言中,类和对象的初始化是一个关键的概念,对于理解和编写健壮的程序至关重要。这个"java代码的初始化顺序demo"显然旨在演示这一过程。让我们深入探讨Java中的初始化顺序及其背后的机制。 1. **类加载...

    Java静态初始化块和对象初始化块

    在Java编程语言中,初始化块是程序执行时用于初始化对象或类的重要机制。这里我们将深入探讨两种类型的初始化块:静态初始化块(Static Initializer Block)和对象初始化块(Instance Initializer Block)。这两种...

    Java初始化块Java初始化块.doc

    总结起来,Java初始化块是Java中用于对象和类初始化的重要工具,它们在不同场景下提供了一种灵活的方式来控制对象和类的状态。理解初始化块的工作原理对于编写高效且无错误的Java代码至关重要。在编写代码时,应谨慎...

    java程序初始化顺序

    在Java编程语言中,程序初始化的顺序是一个关键概念,它涉及到类加载、对象创建以及执行流程的安排。了解这些顺序对于编写高效、无错误的代码至关重要。以下是对Java程序初始化顺序的详细说明: 1. **类加载阶段**...

    java语法\Java数组声明、创建、初始化

    Java数组声明、创建、初始化 Java数组是指在Java语言中可以存储多个相同类型元素的数据结构。数组是一种引用类型,它的元素可以是基本类型,也可以是对象类型。Java数组的声明、创建和初始化是Java编程中非常重要的...

    6种方法初始化JAVA中的list集合

    本文将详细介绍6种初始化Java List集合的方法,并通过代码示例帮助理解每种方法的使用和特点。 1. 常规方式 这是最常见的初始化List的方式,通过创建ArrayList实例并逐个添加元素。自JDK 7以后,可以省略泛型类型的...

    java面试题-类的初始化顺序.doc

    在面试中,面试官可能会通过这种类型的题目来评估应聘者对Java内存模型的理解,以及他们在编写代码时是否能考虑到这些初始化规则,从而避免潜在的陷阱。因此,掌握类的初始化顺序是每个Java开发者必备的知识点。

    Java变量初始化

    Java 变量初始化详解 Java 变量初始化是 Java 语言的基础知识点之一,但也往往被学习者所忽略。 Java 变量初始化的时机是指在 Java 语言中变量的初始化过程,包括变量的声明、初始化和赋值的步骤。 Java 变量声明 ...

    java初始化和清理

    Java初始化和清理是Java语言中非常重要的两个过程,它们确保了Java程序的正确运行和资源的有效管理。Java的初始化包括类的加载、连接和初始化三个过程,而清理则主要指垃圾回收机制。 首先,Java初始化的主要特性...

    java中类的初始化顺序

    ### Java中类的初始化顺序详解 #### 一、概述 在Java编程语言中,类的初始化是一个非常重要的概念。类的初始化涉及到多个方面,包括静态成员变量、实例成员变量、静态初始化块、实例初始化块以及构造函数等。本文...

    Java初始化顺序1

    Java 初始化顺序详解 在 Java 中,变量可以分为两类:类变量(静态变量)和实例变量(对象变量)。类变量是使用 static 关键字修饰的变量,它们属于类,而不是对象。实例变量则是没有使用 static 关键字修饰的变量...

    Java类继承初始化顺序

    当我们谈论“Java类继承初始化顺序”时,涉及到的关键知识点包括构造器、成员变量的初始化、super关键字以及方法的覆盖。 首先,了解类初始化的顺序至关重要。当创建一个子类实例时,初始化过程遵循以下步骤: 1. ...

    45.java数组动态初始化.zip

    45.java数组动态初始化.zip45.java数组动态初始化.zip45.java数组动态初始化.zip45.java数组动态初始化.zip45.java数组动态初始化.zip45.java数组动态初始化.zip45.java数组动态初始化.zip45.java数组动态初始化.zip...

    44.java数组静态初始化.zip

    44.java数组静态初始化.zip44.java数组静态初始化.zip44.java数组静态初始化.zip44.java数组静态初始化.zip44.java数组静态初始化.zip44.java数组静态初始化.zip44.java数组静态初始化.zip44.java数组静态初始化.zip...

    java初级视频教程系列之-java初始化

    "Java初级视频教程系列之-java初始化"是一套专为初学者设计的教育内容,由经验丰富的IT专家精心录制,旨在帮助学习者掌握Java编程的基础,特别是关于对象初始化的重要概念。 在Java中,初始化是一个关键的步骤,它...

    深入Java初始化.pdf

    `&lt;clinit&gt;`和`&lt;init&gt;`方法的存在揭示了Java初始化的底层机制,它们确保了类和对象的正确初始化,同时也提供了异常处理的能力,使得在初始化过程中出现的问题能够被准确捕获和定位。 总结: Java初始化涉及类的静态...

Global site tag (gtag.js) - Google Analytics