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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

1.在子类没有无参构造时,可以用有参构造创建,在有参构造的方法体中使用语句super(参数1,参数2,...);2.在子类有无参构造时,可以利用this关键字,用this关键字指向子类的有参构造,再由有参构造传递给父类的有参构造,语句this(值1,值2,...);必须传递确切的值
3.在子类有无参构造时,也可以利用super关键字,此时需要传递确切的值,语句super(值1,值2,...);


总结:建议使用第一个方法,最简单,指向明确,容易理解,并且不需要传递准确的值,初始化一步到位,而第二三种方式需要使用setXxx()方法进行初始化。

4 个回复

倒序浏览
只想默默的问一句你如何确定父类有没有无参构造?
回复 使用道具 举报
yin12310 发表于 2016-7-23 00:06
只想默默的问一句你如何确定父类有没有无参构造?

假如父类重载了构造方法,写的是有参构造,你自己不给出无参构造的话,它当然就没有了,系统不会在你给出构造方法时再添加构造方法。。。
回复 使用道具 举报
子类无参的话呢
回复 使用道具 举报

2.在子类有无参构造时,可以利用this关键字,用this关键字指向子类的有参构造,再由有参构造传递给父类的有参构造,语句this(值1,值2,...);必须传递确切的值
3.在子类有无参构造时,也可以利用super关键字,此时需要传递确切的值,语句super(值1,值2,...);
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马