黑马程序员技术交流社区

标题: this调用构造器 [打印本页]

作者: 胡超    时间: 2013-12-15 16:18
标题: this调用构造器
为何要用this来调用另一个重载的构造器?直接把一个构造器里的代码复制、粘贴到这个构造器里不就行了,没必要多此一举吧!
作者: 胡永城    时间: 2013-12-15 16:57
多个构造器的好处:通过重载的构造器,可以给调用者多个选择。一般都会有一个无参的构造器(在继承体系中,子类构造器默认super()调用父类无参构造器),在无参构造器中会this调用其他构造器以传递参数初始化对象,比如顺序表对象,创建对象内数组时会创建默认长度(传递的参数)的数组。
使不使用this全看情况,比如私有化构造函数的类,没有继承体系,只对外提供公有访问方法,创建对象全在本类中等。
以上为个人理解,如有偏颇请继续查阅资料,请指点。
作者: ysunday    时间: 2013-12-15 20:03
简化代码的书写,为了让代码更清楚,更简洁
作者: 李然    时间: 2013-12-15 23:31
个人感觉就是为了防止重复代码过多,增强代码的复用性和简洁性。你可以这样想,如果一个类有很多个不同的构造方法,那每一个都要使用都拷贝,那样的话重复代码就太多了,个人理解也就违背了java的封装性,毕竟函数是java封装性最小单位的体现。
作者: jing迪    时间: 2013-12-15 23:34
也可以呀  但是用this的话简化了代码的书写,this 的格式是this()




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