定义

  • 子类对象赋给父类变量 或 实现类对象赋给接口变量,该对象可以有多种形态,在运行时期会表现出 子类 或 实现类 特征(调用 子类 或 实现类 的覆盖方法)

前提

  • 继承(类和类)或实现(接口和实现类)

作用

  • 屏蔽不同子类或实现类之间的实现差异,从而可以做到通用编程

注意

引用变量的强制类型转换

  • 引用类型之间的转换只能在具有继承关系的两个类型之间进行,否则编译报错
  • 只能将一个引用变量的类型强制转换成该变量实际引用的对象可以被定义成的类型,否则会引发 ClassCastException 异常
  • 语法格式:(Type)object

instanceof 运算符

  • 判断该对象是否是某一个类 / 子类 / 实现类的实例,如果是,返回 true