Java篇--继承和多态

Java篇--继承和多态

  • 继承
    • 格式
    • 特点
    • 关键字
      • this
      • super
      • implements
      • extends
    • 继承规则
    • 构造器
    • 方法重载
    • 对象转型
  • 多态

继承

子类继承父类的特征和行为,是子类具有父类的实例域和方法

格式

class 子类 extends 父类{}

特点

  1. 子类可以继承父类非private的属性和方法,可以拥有自己的属性和方法,故父类实际上是所有子类公共属性和方法的集合
  2. 单继承,一个类只能有一个直接父类,但是可以多层继承,C继承B,B继承A
  3. 无extends继承,默认继承java.lang.Object

关键字

this

指向自己的引用
  1. this():调用同类其他类型构造器
    a. 必须放在第一行
    b. 不能放在普通方法中调用
    c. 只能调用一次
    d. 调用符合参数列表的构造器
  2. 用法:
    a. 当前对象的引用
    b. 类成员变量的引用
    c. 构造器
  3. 构造器:
    a. 子类不继承父类的构造方法,仅调用,主函数实例化对象调用子类构造器时,会先自动调用父类相同类型的构造器,然后再调用子类构造器
    b. 如果父类的构造器带有参数,则必须在子类的构造器中显式地通过 super 关键字调用父类的构造器并配以适当的参数列表

super

对父类对象的访问,包括成员变量、方法

implements

使类继承接口

extends

单一继承

继承规则

  1. 成员变量的隐藏:同名成员变量,父类隐藏,仍占内存,子类不能继承父类的成员变量
  2. 成员方法的覆盖(重写):同名成员方法,父类被覆盖,内存被清除
    a. 覆盖条件:前提是构成继承,返回值、参数列表一致,访问权限不能比父类更严格

构造器

子类不继承父类的构造方法,仅调用,主函数实例化对象调用子类构造器时,会先自动调用父类相同类型的构造器,然后再调用子类构造器

方法重载

同名,但参数类型及个数不同,修饰符、返回值可以不同

对象转型

  1. 向上转型:父类引用指向子类对象 Animal animal = new Cat();
  2. 向下转型:

多态

同一行为具有多种表现形式,例如同一接口,不同的实例执行不同的操作
  1. 存在的必要条件:
    继承
    重写
    父类引用指向子类对象

你可能感兴趣的:(Java)