06 继承相关:super/方法的重写

继承相关

super

  1. super调用父类的构造方法,必须在构造方法的第一行

  2. super必须只能出现在子类的方法活构造方法中

  3. super();和this();都是在构造函数的第一行,不能同时出现

  4. 子类的初始化过程中,首先会执行父类的初始化动作。因为子类的构造方法中默认有一个super()。子类要使用父类的成员变量,这个初始化,必须在子类初始化之前完成。所以,子类的初始化过程中,会先执行父类的初始化

  5. 如果父类没有无参构造方法

    1. 使用super调用父类的带参构造。推荐方式

    使用this调用本身的其他构造。

super与this:

super是一个关键字,代表父类的存储空间标识。(可以理解为父亲的引用)

super和this的用法相似。

this代表对象的引用(谁调用就代表谁);
super代表当前子类对父类的引用。

  • 使用场景

    当子父类出现同名成员时,可以用super进行区分

    子类要调用父类构造函数时,可以使用super语句

  • 代表的对象不同:

    this:调用者这个对象

    super:代表父类对象的应用

  • 前提:

    this:没有继承也可以使用

    super:只能在继承条件才可以使用

  • 构造方法:

    this():本类的构造

    super():父类的构造


方法的重写

重写是子类对父类的允许访问的方法的实现过程进行重新编写。

  1. 方法名和参数列表必须完全相同
  2. 返回类型可以不同,但是必须是父类返回值的派生类(java5 及更早版本返回类型要一样,java7 及更高版本可以不同)。
  3. 修饰符:范围可以扩大不能缩小 public>protected>default>private
  4. 抛出的异常:范围可以缩小不能扩大
  5. 声明为final的方法不能被重写
  6. 声明为static的方法不能被重写,但能够被再次声明
  7. 构造方法不能被重写
posted @ 2020-12-23 17:38  迪迦是真的  阅读(121)  评论(0)    收藏  举报
//复制代码按钮 //代码行号 //评论