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(); //子类没有,父类有;优先用子类的没找到,再向上找父类的