黑马程序员技术交流社区
标题:
继承中如何在父类没有无参构造的方法的时候创建对象
[打印本页]
作者:
qetu001212
时间:
2016-7-22 22:35
标题:
继承中如何在父类没有无参构造的方法的时候创建对象
1.在子类没有无参构造时,可以用有参构造创建,在有参构造的方法体中使用语句super(参数1,参数2,...);
2.在子类有无参构造时,可以利用this关键字,用this关键字指向子类的有参构造,再由有参构造传递给父类的有参构造,语句this(值1,值2,...);必须传递确切的值
3.在子类有无参构造时,也可以利用super关键字,此时需要传递确切的值,语句super(值1,值2,...);
总结:建议使用第一个方法,最简单,指向明确,容易理解,并且不需要传递准确的值,初始化一步到位,而第二三种方式需要使用setXxx()方法进行初始化。
作者:
yin12310
时间:
2016-7-23 00:06
只想默默的问一句你如何确定父类有没有无参构造?
作者:
qetu001212
时间:
2016-7-23 23:26
yin12310 发表于 2016-7-23 00:06
只想默默的问一句你如何确定父类有没有无参构造?
假如父类重载了构造方法,写的是有参构造,你自己不给出无参构造的话,它当然就没有了,系统不会在你给出构造方法时再添加构造方法。。。
作者:
elopment
时间:
2016-7-23 23:50
子类无参的话呢
作者:
qetu001212
时间:
2016-7-23 23:51
elopment 发表于 2016-7-23 23:50
子类无参的话呢
2.在子类有无参构造时,可以利用this关键字,用this关键字指向子类的有参构造,再由有参构造传递给父类的有参构造,语句this(值1,值2,...);必须传递确切的值
3.在子类有无参构造时,也可以利用super关键字,此时需要传递确切的值,语句super(值1,值2,...);
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2