- 在子类的构造函数中第一行有一个默认的隐式语句。super();
- 如果父类中的构造函数使用的不是默认构造函数,则需要在子类构造函数的第一行显式调用带参数的super(),明确要调用父类中哪个构造函数.
- 子类构造函数中如果使用this调用了本类构造函数时,那么super就没有了,因为super和this都只能定义在第一行。所以只能有一个。
- 构造函数不能覆盖,也没有直接继承.
为什么子类实例化时要访问父类的构造函数?
子类继承了父类,获取到了父类中内容(属性),所以在使用父类内容之前,要先看父类是如何对自己的内容进行初始化的.
- 通过super初始化父类内容时,子类的成员变量并未显式初始化。等super()父类初始化完毕后,才进行子类成员变量显式初始化