概述
定义:某一类事物的多种存在形态。
例:动物中猫,狗。
猫这个对象对应的类型是猫类型
猫 x = new 猫();
同时猫也是动物中的一种,也可以把猫称为动物。
动物 y = new 猫();
动物是猫和狗具体事物中抽取出来的父类型。
父类型引用指向了子类对象。 程序中体现:
父类或者接口的引用指向或者接收自己的子类对象。 好处和作用:
多态的存在提高了程序的扩展性和后期可维护性 前提: 需要存在继承或者实现关系 要有覆盖操作 多态的特点 成员函数:
编译时:要查看引用变量所属的类中是否有所调用的成员。
在运行时:要查看对象所属的类中是否有所调用的成员,其实这里肯定是有的,因为编译通过,,证明一定是父类中的方法,所以子类肯定存在相同的方法。 成员变量:
只看引用变量所属的类。 多态的应用 主板与PCI例子
PCIopen();close();NetBoard open()close()SoundBoard open()close()PCI[] pArr;open()openPCI()(p != null)closePCI()(p != null)close()PCIDemo main(String[] args) 71:{ 72:PCI[] pArr = {new NetBoard(),new SoundBoard()}; 73: 74:MainBoard m = new MainBoard(pArr); 75: 76:m.open(); 77:m.close(); 78: 79:} 80: }你爱我吗?已经爱到危险的程度了.危险到什么程度?已经不能一个人生活。