现在的位置: 首页 > 综合 > 正文

黑马程序员—学习多态

2013年04月01日 ⁄ 综合 ⁄ 共 780字 ⁄ 字号 评论关闭

---------------------- android培训java培训、期待与您交流! ----------------------

4.9 多态

定义:某一类事物的多种存在形态。

Eg:动物中的猫、狗。

猫这个对象对应的类型是猫类型。

     猫 x=new 猫();

同时猫也是动物中的一种,也可以吧猫成为动物。

动物 y=new 猫();

动物是猫和狗具体事物中抽取出来的父类型。

1)多态的体现:

父类的引用指向了子类对象。

Eg:动物 y=new 猫();

父类的引用也可以接收自己的子类对象

(2)多态的前提:
     ①必须是类与类之间的关系:要么继承、要么实现。

     ②存在覆盖。

(3)多态的好处:
     大大的提高了程序的扩展性

4)多态的弊端:

 只能使用父类的引用访问父类中的成员。

(5)多态的应用:

    (6多态中成员函数(非静态)的特点

 在编译时:参阅应用型变量所属的类中是否有调用的方法。

如果有,编译通过,反之,失败。

在运行时:参阅对象所属的类中是否有调用的方法。

简单地说:成员函数在多态调用时,编译看左边,运行看右边。

多态中成员变量、静态成员函数的特点:

无论编译还是运行,都参考左边(引用型变量所属的类)

动物 x=new 猫();//类型提升,向上转型。

类似于:byte b=2int x=b//bbyte类型转换成int类型

猫 y=(猫)x//强制将父类的引用转换成子类类型。向下转型

Object-----equals()

指示其他对象是否与此对象“相等”。

Object-----toString()

返回该类对象的字符串表示

---------------------- android培训java培训、期待与您交流! ----------------------

详细请查看:http://edu.csdn.net/heima

抱歉!评论已关闭.