继承、super、重写

整体与部分(has a关系)例如:球队与球员

继承

  • 注意细节:
    1.子类可以继承父类的成员,但是千万不要为了减少重复代码去继承,只有正真存在继承的时候才去继承
    2.父类私有的成员是不能被继承的
    3.父类中的构造方法也是不能被继承的
    4.创建子类对象时会默认首先调用父类的无参的构造方法
  • 作用:
    调用父类的构造方法的作用是为了初始化从父类继承下去的属性

super关键字

  • 代表的是父类的引用空间
  • 作用:
    1.如果子父类存在着同名的成员时在子类中,默认访问的是子类的成员,可以通过super关键字指定访问父类的成员
    2.创建子类对象时,默认会先调用父类无参的构造函数,通过super关键字可以在子类的构造函数中指定调用父类的函数
image.png
  • 注意的细节:
    1.super关键字调用构造函数的时候必须位于构造函数中的第一个语句
    2.this和super调用构造函数的时候不能同时出现在同一个构造函数中

方法的重写

  • 子父类存在的同名函数,这时候我们需要进行方法的重写。
  • 原因:父类的功能不能满足子类的需求
  • 要求:
    1.方法重写,子父类的函数名与形参必须一致
    2.方法重写时,子类的权限修饰符必须要大于等于父类的权限修饰符
    3.方法重写时,子类的返回值类型必须小于或者等于父类的返回值类型
    4.方法重写时,子类抛出的异常类型,必须小于或者等于父类抛出的异常类型

推荐阅读更多精彩内容