java – 没有继承的类的构造函数中的super()
发布时间:2020-12-15 04:39:05 所属栏目:Java 来源:网络整理
导读:参见英文答案 super keyword without extends to the super class????????????????????????????????????2个 我在Java Video-Tutorial中看到过以下代码(类的缩写版本). public class Address { private String firstName; private String lastName; public Ad
参见英文答案 >
super keyword without extends to the super class????????????????????????????????????2个
我在Java Video-Tutorial中看到过以下代码(类的缩写版本). public class Address { private String firstName; private String lastName; public Address() { super(); } public Address(String firstName,String lastName) { this.firstName = firstName; this.lastName = lastName; } ... } 这里显示的类没有extend关键字.然而,在构造函数中使用了super()而没有参数. 它调用Object类的构造函数?我对吗? 但为什么? 这次调用super()的原因是什么? 解决方法
在创建类的实例时,将调用超类的构造函数.如果您的类明确扩展,有两个选项:
>如果超类具有默认构造函数,则调用它; 调用不带参数的super()基本上意味着你调用默认的构造函数.这没有必要,因为即使你没有明确地这样做,它也会被调用. 由于java中的所有对象都隐式地扩展了Object,因此在创建类的实例时始终会调用Object的默认构造函数. super()只是让它显而易见.但是,为什么我们应该对已经非常清楚的事情添加明确性. 此外,当您使用代码生成工具(例如Eclipse)时,IDE有时会添加它. 您可以阅读关于类/超类的consturtors如何在OCA准备的书中工作的非常好的描述:https://www.amazon.com/OCA-Certified-Associate-Programmer-1Z0-808/dp/1118957407 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |