java的多态入门

1、多态性的概念

注: 继承(extends)和实现(implements)都是多态的 前提
在这里插入图片描述

2、对象的向上转型和向下转型

在这里插入图片描述
注意: 可以利用 instanceof 判断类型
     格式:对象名称 instanceof 类型名称 -----返回 boolean 类型

3、多态性的格式与使用

注: 重写(Override)和重载(Overload)也是多态的 表现
  (1)、格式:(向上转型)

父类名称 引用 = new 子类名称();  //new 子类名称() --->才是对象;

或者

接口名称 引用 = new 实现类名称(); //new 实现类名称() --->才是对象;

注意: 左侧是父类(接口)的 引用 ;右侧是子类(实现类)的 对象

4、多态中成员变量的使用特点

注意: 编译是否报错看左边,运行是否报错看左边

  (1)、直接(通过对象名称<即引用>)访问成员变量:看等号左边是谁,就优先用谁;没有再向上找
  (2)、间接(通过成员方法)访问成员变量:看方法属于谁,就优先用谁;没有再向上找

5、多态中成员方法的使用特点

注意: 编译是否报错看左边,运行是否报错看右边

  看new出来的对象是谁,就优先用谁;没有再向上找

Fu obj = new Zi(); //向上转型的多态

obj.method(); //父子都有,new出来的对象是Zi;所以优先用Zi的
obj.methodFu(); //子类没有,父类有;优先用子类的没找到,再向上找父类的

6、使用多态的好处

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/qq_41970025/article/details/88816876