黑马程序员技术交流社区

标题: 关于子类的构造函数的一个细节,大家参考 [打印本页]

作者: biebie    时间: 2014-12-13 23:19
标题: 关于子类的构造函数的一个细节,大家参考
何时子类必须显式调用父类构造函数:

1 父类没有默认构造函数(这时候子类必须无条件显式写一个任意的构造函数包括默认构造函数,第一句就是super(...))

2 父类有默认构造函数,但子类的构造函数不想jvm调用父类默认的那个构造函数, 就要用spuer(...)(如果父类还有其他构造函数)

其他场景,都是可写可不写。但是一旦写了super(...),super的参数怎么给必须与父类的构造函数相符。


总结:只要父类有带参的构造函数,在子类中就必须显式的调用父类的构造函数,因为子类的构造器实例化的时候无法找到父类的构造函数(父类中有自己写的无参的构造函数时子类也不用显示的调用)
作者: 杜庆娇    时间: 2014-12-13 23:19
了解了,谢谢
作者: 黑马-李权88    时间: 2014-12-13 23:25
不错的帖子,学习了
作者: HelloWorld!    时间: 2014-12-14 00:34
一句话:子类调用父类非空参数构造函数必须显式调用
作者: 提米特    时间: 2014-12-14 09:56
总结得很好,感谢楼主




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