【发布时间】:2021-06-07 12:38:52
【问题描述】:
我正在学习 super() 构造函数,我遇到了这个语句:
由于继承的实例变量应该被初始化,并且基类构造函数就是为此而设计的,所以应该始终使用对
super()的显式调用。
这句话是什么意思?
如果基类没有定义无参数构造函数,隐式调用会导致错误除外?
【问题讨论】:
-
简而言之,当您对隐式
super();的默认选择(无参数构造函数)不满意时,您应该显式选择您想要的构造函数super(...);。如果你对这个选择感到满意,你可以让它保持隐含,就这么简单。
标签: java inheritance super