为了账号安全,请及时绑定邮箱和手机立即绑定

子类对象构造时,只能调用父类无参的构造方法?

子类对象构造时,只能调用父类无参的构造方法?

正在回答

2 回答

好问题,问我去百度了下,这么说的,试了一下,确实可以

如果你是想在子类的构造函数中调用父类构造函数,则需要在子类的构造函数的函数体第一行(注释语句除外)使用:super(参数列表)的方式调用,该参数列表与父类有参构造函数声明的参数列表一致,如果你不是在子类构造函数中调用,则无法直接调用父类构造函数,这时创建一个父类对象(通过你想调用的有参父类构造函数创建),就间接调用了该构造函数。

0 回复 有任何疑惑可以回复我~
#1

112358 提问者

子类和父类各有两个构造函数(一个无参,一个有参)。通过子类有参的构造方法构造对象时,调用的是父类无参的构造方法。有没有可能在构造子类对象时,调用父类其他的构造函数?
2016-01-29 回复 有任何疑惑可以回复我~
#2

112358 提问者

非常感谢!
2016-05-08 回复 有任何疑惑可以回复我~

我是这么理解的:因为构造方法是对类对象的属性进行操作的,你使用有参数的构造方法即是表示的确需要一个对象,并且对其属性经行操作。然而在我们使用子类对象时,必须要构造父类对象,但是我们并不使用父类对象。所以谈不上对其进行赋值等等操作,更何况有些类根本没有属性,怎么调用有参数的构造方法。

0 回复 有任何疑惑可以回复我~
#1

一条小咸鱼

好吧,是可以调用其它构造方法的,把父类名替换为super关键字即可!!!
2016-02-05 回复 有任何疑惑可以回复我~
#2

芊芊芊芊湾

请问如果父类中只有一个无参构造函数,在创建子类对象时,程序是先执行父类的构造方法,然后再执行子类的构造方法,那么这个过程中,有没有自动创建父类对象呢?
2018-11-01 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

子类对象构造时,只能调用父类无参的构造方法?

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信