如何解决什么时候必须显式调用超级构造函数?
我正在学习 super()
构造函数,但我遇到了以下语句:
由于继承的实例变量应该被初始化,而基类构造函数就是为此而设计的,所以应该始终使用对 super()
的显式调用。
这句话是什么意思?
除了如果基类没有定义无参数构造函数,隐式调用会导致错误?
解决方法
您引用的这句话并没有明确说明您的类中需要有 0 个参数构造函数。这句话的重点是应该初始化属于父类的所有变量,并且您使用构造函数初始化这些变量,因此您应该在子类构造函数内部调用父类构造函数。父类构造函数的参数个数是多少无关紧要。
,我认为引用的段落有点误导,因为如果您对未参数化的隐式 super() 调用不满意,您只需要显式调用参数化的 super()。
如果基类只有参数化的构造函数,您还必须执行参数化的 super() 调用。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。