super() 和this()为什么要放在构造函数的第一个语句

来源:互联网 发布:电脑数据库在哪里 编辑:程序博客网 时间:2024/05/08 10:26

用new调用子类构造器来创建子类对象之前必须先在子类构造器中调用一个父类构造器来初始化父类(父类的一切成员)以保证子类能够使用父类继承下来的成员.所以有时候我们在子类的构造函数里面如果没有显示调用父类的构造函数的时候,系统 会默认的在子类的构造函数里面的第一行里调用父类的无参构造函数.但如果在子类的构造函数里面的第一行显示调用了父类的构造函数(有可能是无参或有参构造函数.)就不会自动给我们添加其他父类的构造函数了.
至于在子类的构造函数里面显示调用父类的构造函数的时候,也必须放在第一行.是因为用于覆盖默认构造函数的位置,或者说是先调用父类的构造函数初始化了其他变量才能使用父类的其他成员.



0 0
原创粉丝点击