黑马程序员技术交流社区

标题: 关于递归的问题? [打印本页]

作者: 小蚊子    时间: 2013-12-19 22:28
标题: 关于递归的问题?
为什么构造函数不能使用递归??
作者: jing迪    时间: 2013-12-19 22:35
构造函数 主要是用来创建对象时候初始化对象用的

在创建对象的时候只执行一次  应该不能使用递归的
作者: belief丶Only    时间: 2013-12-19 23:12
查了资料,好像说与编译器有关,可能会造成死循环。构造函数是类中声明的一种特殊的成员函数,起作用是在对象被创建时使用特定的值构造对性,将对象初始化为一个特定的状态,构造函数的名字与它所属的类名相同,被声明为公有函数,且没有任何类型的返回值,在创建对象时被自动调用;
而且定义为递归函数,意义也不大。
作者: 夏德宇    时间: 2013-12-19 23:38
想法奇特!{:soso_e179:}
构造方法是特殊的方法,构造函数的名字必须和类名完全相同,构造函数不能有返回值,就是void 也不要写,构造函数不可以被子类继承构造函数可以重载但是不可以被子类覆盖,不同于一般方法,所以不能像普通方法一样自己调用自己。
从递归角度考虑,当可以把要解决的问题转化为一个新问题,而这个新的问题的解决方法仍与原来的解决方法相同,只是所处理的对象有规律地递增或递减,并且要有一个明确的结束的条件。
所以就算构造方法内部可以调用自己,构造函数就是为对象初始化的,好像初始化时也没必要自己调用自己。
作者: 刘旭升    时间: 2013-12-20 22:05
上面两位解释的真好,长见识了。我就说个别的吧,楼主的头像不错,脑袋大大的,是程序员的节奏。




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2