专注收集记录技术开发学习笔记、技术难点、解决方案
网站信息搜索 >> 请输入关键词:
您当前的位置: 首页 > J2SE

java的类定义的方法中对自身的实例化为什么不会引起无限递归?解决方法

发布时间:2010-06-05 05:28:18 文章来源:www.iduyao.cn 采编人员:星星草
java的类定义的方法中对自身的实例化为什么不会引起无限递归?
比如:
Java code

class Test
{
   public void fun()
   {
      Test s=new Test();//这句为什么不会引起无限递归?
      System.out.println("test!");
   }
}


就是创建一个Test对象时,会创建fun()然后再创建Test对象……无限循环下去,如果方法是static比较容易理解,因为static方法是类创建类时创建,所以创建对象时不会引起递归,但非static方法为什么也不会引起递归?



------解决方案--------------------
执行fun才会创建。。。创建完又不会立马又执行fun 你要手动执行fun
------解决方案--------------------
类中有方法,你创建了就会自动调用那个方法么,那不乱套了。我们去调用方法时才会执行方法的,只是初始化时确定类有这个方法,不会去执行的
------解决方案--------------------
那句不是只会分配空间,做些初始化,然后new会返回一个地址给t而已吗?为什么会无限递归?
------解决方案--------------------
Java code
class Test{
   public Test() {
        Test t = new Test();
        System.out.println(t);
   }
}
//试一下这个;
友情提示:
信息收集于互联网,如果您发现错误或造成侵权,请及时通知本站更正或删除,具体联系方式见页面底部联系我们,谢谢。

其他相似内容:

热门推荐: