---------------------- android培训、java培训、期待与您交流! ----------------------
4.9 多态
定义:某一类事物的多种存在形态。
Eg:动物中的猫、狗。
猫这个对象对应的类型是猫类型。
猫 x=new 猫();
同时猫也是动物中的一种,也可以吧猫成为动物。
动物 y=new 猫();
动物是猫和狗具体事物中抽取出来的父类型。
(1)多态的体现:
父类的引用指向了子类对象。
Eg:动物 y=new 猫();
父类的引用也可以接收自己的子类对象
(2)多态的前提:
①必须是类与类之间的关系:要么继承、要么实现。
②存在覆盖。
(3)多态的好处:
大大的提高了程序的扩展性
(4)多态的弊端:
只能使用父类的引用访问父类中的成员。
(5)多态的应用:
(6)多态中成员函数(非静态)的特点:
在编译时:参阅应用型变量所属的类中是否有调用的方法。
如果有,编译通过,反之,失败。
在运行时:参阅对象所属的类中是否有调用的方法。
简单地说:成员函数在多态调用时,编译看左边,运行看右边。
多态中成员变量、静态成员函数的特点:
无论编译还是运行,都参考左边(引用型变量所属的类)
动物 x=new 猫();//类型提升,向上转型。
类似于:byte b=2;int x=b;//b的byte类型转换成int类型
猫 y=(猫)x;//强制将父类的引用转换成子类类型。向下转型
Object类-----equals()
指示其他对象是否与此对象“相等”。
Object类-----toString()
返回该类对象的字符串表示
---------------------- android培训、java培训、期待与您交流! ----------------------