继承(5)
大家好,今天我们继续来学习继承的相关知识,来看看子类构造方法(也叫做构造器)是如何做的。
1.6 子类构造方法
父子父子,先有父再有子,即:子类对象构选时,需要先调用基类构造方法,然后执行子类的构造方法
★此时虽然执行了父类的构造方法,但是并没有生成父类的对象,这里只是帮助子类初始化从父类承过来的属性..
在子类构造方法中,并没有写关于基类构造的代码,但是在构造子类对象时,先执行基类的构造方法,然后执行子类的构造方法,因为:子类对象中成员是有两部分组成,基类继承下来的以及子类新增加的部分,父子肯定先有父再有子,所以在构造子类对象时,先要调用基类的构造方法,将从基类继承下来的成员构造完整,然后再调用子类自己的构造方法,将子类自己新增加的成员初始化。
注:1.super必须要放在第一行,this也必须要放在第一个,所以super和 this不能同时使用.
2.每一个类都有一个默认的构造方法,此时在继承关系上子类会提供 super.
3.当用户没有定义构造方法时,会默认提供:
注意:
1.若父类显式定义无参或者默认的构造方法,在子类构造方法第一行默认有隐含的super()调用,即调用基类构造方法。
2.如果父类构进方法是带参数的,此时需要用户为子类显式定义构造方法,并在子类构造方法选择合适的父类构造方法调用,否则编译失败.
3、在子类构造方法中,super(...)调用父类构造时,必须是子类构造函数中第一条语句
4.super (..)只能在子类构造方法中出现一次,并且不能和this同时出现.
好了,今天分享就到这里,谢谢大家!!!