java多态
Posted 小白WY
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java多态相关的知识,希望对你有一定的参考价值。
多态的概述
多态是继封装、继承之后,面向对象的第三大特性。
最终多态体现为父类引用变量可以指向子类对象。
多态的前提是必须有子父类关系或者类实现接口关系,否则无法完成多态。
在使用多态后的父类引用变量调用方法时,会调用子类重写后的方法。
多态的定义与使用格式
多态的定义格式:就是父类的引用变量指向子类对象
父类类型 变量名 = new 子类类型();
变量名.方法名();
l 普通类多态定义的格式
父类 变量名 = new 子类();
如: class Fu {}
class Zi extends Fu {}
//类的多态使用
Fu f = new Zi();
抽象类多态
接口多态
多态-成员的特点
l 多态成员变量
当子父类中出现同名的成员变量时,多态调用该变量时:
编译时期:参考的是引用型变量所属的类中是否有被调用的成员变量。没有,编译失败。
运行时期:也是调用引用型变量所属的类中的成员变量。
简单记:编译和运行都参考等号的左边。编译运行看右边。
l 多态成员方法
编译时期:参考引用变量所属的类,如果类中没有调用的方法,编译失败。
运行时期:参考引用变量所指的对象所属的类,并运行对象所属类中的成员方法。
简而言之:编译看左边,运行看右边。
instanceof关键字
以上是关于java多态的主要内容,如果未能解决你的问题,请参考以下文章