06 继承相关:super/方法的重写
继承相关
super
super调用父类的构造方法,必须在构造方法的第一行
super必须只能出现在子类的方法活构造方法中
super();和this();都是在构造函数的第一行,不能同时出现
子类的初始化过程中,首先会执行父类的初始化动作。因为子类的构造方法中默认有一个super()。子类要使用父类的成员变量,这个初始化,必须在子类初始化之前完成。所以,子类的初始化过程中,会先执行父类的初始化。
如果父类没有无参构造方法
- 使用super调用父类的带参构造。推荐方式
使用this调用本身的其他构造。
super与this:
super是一个关键字,代表父类的存储空间标识。(可以理解为父亲的引用)
super和this的用法相似。
this代表对象的引用(谁调用就代表谁);
super代表当前子类对父类的引用。
使用场景
当子父类出现同名成员时,可以用super进行区分
子类要调用父类构造函数时,可以使用super语句
代表的对象不同:
this:调用者这个对象
super:代表父类对象的应用
前提:
this:没有继承也可以使用
super:只能在继承条件才可以使用
构造方法:
this():本类的构造
super():父类的构造
方法的重写
重写是子类对父类的允许访问的方法的实现过程进行重新编写。
- 方法名和参数列表必须完全相同
- 返回类型可以不同,但是必须是父类返回值的派生类(java5 及更早版本返回类型要一样,java7 及更高版本可以不同)。
- 修饰符:范围可以扩大不能缩小 public>protected>default>private
- 抛出的异常:范围可以缩小不能扩大
- 声明为final的方法不能被重写
- 声明为static的方法不能被重写,但能够被再次声明
- 构造方法不能被重写

浙公网安备 33010602011771号