Skip to content

多态:在不同的时刻体现不同的状态

前提:多态的前提时继承

java
// 格式
父类名称 对象名 = new 子类名称();
接口名称 对象名 = new 实现类名称();

访问成员变量的两种方式:

  1. ​ 直接通过对象名称访问成员变量:等号左边是谁,优先使用谁,没有则向上找
  2. 简介通过成员方法访问成员变量:看方法属于谁,优先使用谁,没有则向上找

成员方法的访问规则:看new的是谁,就优先用谁,没有则向上找

编译看左边,运行看右边

对象的向上转型,就是多态写法:

​ 格式:父类名称 对象名 = new 子类名称();

​ 含义:右侧创建一个子类对象,把他当作父类来看待使用

​ 注意事项:向上转型一定是安全的,从小范围转向了大范围

​ 弊端:一旦向上转型为父类,那么就无法调用子类原本特有的内容

解决方法:向下转型

对象的向下转型,其实就是一个【还原】动作

​ 格式:子类名称 对象名 = (子类名称)父类对象;

​ 含义:将父类对象,还原成为本来的子类对象

​ 注意事项:必须保证对象创建的时候就是他的子类,才能向下转型,否则就会报错

格式:对象 instanceof 类名称

这样将会得到一个布尔值结果,也就是判断前面的对象能不能当作的后面类型的实例