当前页面: 开发资料首页 → J2SE 专题 → 如果一个类里的构造函数含有本身类的对象,那该怎么处理的或怎么理解的?
如果一个类里的构造函数含有本身类的对象,那该怎么处理的或怎么理解的?
摘要: 如果一个类里的构造函数含有本身类的对象,那该怎么处理的或怎么理解的?
class a
{
a()
{
a obj=new a();
obj.say();
}
public static void main(String [] a)
{
a obj2=new a();
}
void say()
{
}
}
这样写的话是无限嵌套了吧
如果调用的不是另一个构造函数重载,那就肯定是递归呗。
而且楼主这个程序中连个递归结束条件都没有,也就是无限递归。一旦运行起来,肯定是“Stack Overflow”。。。
这样的啊.......
我都觉得是这样,
那我怎么检测出来,我上面那样运行没见什么异常啊,~
啊?真的?
为什么俺运行它就栈溢出了。555~~~~~
无限了呢
如果不是内存StackOverflow,就是我要Overflow了。
相当死循环!
哈哈!
为什么我这里运行没异常
at a.-#60;init-#62;(a.java:5)
at a.-#60;init-#62;(a.java:5)
at a.-#60;init-#62;(a.java:5)
at a.-#60;init-#62;(a.java:5)
at a.-#60;init-#62;(a.java:5)
at a.-#60;init-#62;(a.java:5)
at a.-#60;init-#62;(a.java:5)
at a.-#60;init-#62;(a.java:5)
at a.-#60;init-#62;(a.java:5)
at a.-#60;init-#62;(a.java:5)
at a.-#60;init-#62;(a.java:5)
at a.-#60;init-#62;(a.java:5)
at a.-#60;init-#62;(a.java:5)
at a.-#60;init-#62;(a.java:5)
at a.-#60;init-#62;(a.java:5)
at a.-#60;init-#62;(a.java:5)
at a.-#60;init-#62;(a.java:5)
at a.-#60;init-#62;(a.java:5)
at a.-#60;init-#62;(a.java:5)
at a.-#60;init-#62;(a.java:5)
at a.-#60;init-#62;(a.java:5)
at a.-#60;init-#62;(a.java:5)
at a.-#60;init-#62;(a.java:5)
at a.-#60;init-#62;(a.java:5)
at a.-#60;init-#62;(a.java:5)
at a.-#60;init-#62;(a.java:5)
at a.-#60;init-#62;(a.java:5)
at a.-#60;init-#62;(a.java:5)
at a.-#60;init-#62;(a.java:5)
at a.-#60;init-#62;(a.java:5)
at a.-#60;init-#62;(a.java:5)
at a.-#60;init-#62;(a.java:5)
at a.-#60;init-#62;(a.java:5)
at a.-#60;init-#62;(a.java:5)
at a.-#60;init-#62;(a.java:5)
at a.-#60;init-#62;(a.java:5)
at a.-#60;init-#62;(a.java:5)
at a.-#60;init-#62;(a.java:5)
at a.-#60;init-#62;(a.java:5)
at a.-#60;init-#62;(a.java:5)
Press any key to continue...
全是这 哈哈 还有好长
...汗,为什么我这儿报异常