• extends用于继承操作
  • Java只支持单一继承,接口可以实现多重继承
  • Derive instanceof Base运算符可以判断两个类是否具有继承关系

super

  • super(args)作为基类构造函数的第一条语句,用于调用父类的构造函数
  • 如果在子类构造方法中没有显示调用父类的构造函数,编译器就会自动将super()作为构造方法中的第一个语句,且此语句不会与this(args)冲突
  • super可用于操作继承自父类的部分

重写

  • 在子类中定义与父类中方法签名相同的方法,将隐藏继承自父类的方法,只能显示通过super调用父类被隐藏的方法
  • 使用@Override标识需要重写的方法,如果子类无法访问父类中的同签名方法或者父类不存在同签名方法,将报错
  • final修饰的类不能被继承
    final修饰的方法不能被重写

覆盖

  • 当父类和子类具有同名变量时,子类变量将覆盖父类变量,父类变量被隐藏
  • 在多态中,引用子类对象的父类引用变量,其调用方法为子类方法,其访问变量为父类变量