class A{main(){
new A();
}
A a = new A();}
报错 Exception in thread "main" java.lang.StackOverflowErrormain在构造A的时候会对 a初始化,初始化的时候也就应该什么也没做吧。为什么报错呢????
new A();
}
A a = new A();}
报错 Exception in thread "main" java.lang.StackOverflowErrormain在构造A的时候会对 a初始化,初始化的时候也就应该什么也没做吧。为什么报错呢????
new A();
}
A a = new A(); //你这个代码是做什么????}同意楼上..太牛B了..利用main构造A???不是有构造函数这个概念么??
构造方法他也是方法,楼主在构造方法里又调用了自己,这明显是无限递归的死循环嘛。无限递归的结果,必然是jvm无法再找到可用于存放类A实例对象的空间,因此报这个错。
楼主为class A定义了一个属性A,并给它赋值。
运行的时候其实和构造方法中new自己的意思一样,导致了递归调用。