A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 胡超 中级黑马   /  2013-12-15 16:18  /  2080 人查看  /  4 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

为何要用this来调用另一个重载的构造器?直接把一个构造器里的代码复制、粘贴到这个构造器里不就行了,没必要多此一举吧!

评分

参与人数 1技术分 +1 收起 理由
FFF + 1 淡定

查看全部评分

4 个回复

倒序浏览
多个构造器的好处:通过重载的构造器,可以给调用者多个选择。一般都会有一个无参的构造器(在继承体系中,子类构造器默认super()调用父类无参构造器),在无参构造器中会this调用其他构造器以传递参数初始化对象,比如顺序表对象,创建对象内数组时会创建默认长度(传递的参数)的数组。
使不使用this全看情况,比如私有化构造函数的类,没有继承体系,只对外提供公有访问方法,创建对象全在本类中等。
以上为个人理解,如有偏颇请继续查阅资料,请指点。
回复 使用道具 举报
简化代码的书写,为了让代码更清楚,更简洁
回复 使用道具 举报
个人感觉就是为了防止重复代码过多,增强代码的复用性和简洁性。你可以这样想,如果一个类有很多个不同的构造方法,那每一个都要使用都拷贝,那样的话重复代码就太多了,个人理解也就违背了java的封装性,毕竟函数是java封装性最小单位的体现。

评分

参与人数 1技术分 +1 收起 理由
FFF + 1 赞一个!

查看全部评分

回复 使用道具 举报
也可以呀  但是用this的话简化了代码的书写,this 的格式是this()
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马