20121029java基础-多态

何为多态?

   java中上溯造型的存在,使一个对象既可以当做它自己的类型,也可以作为其父类的类型对待,这意味着子类对象可作为父类的对象使用;父类的对象变量可以指向子类对象。这样通过一个父类发出的方法调用,可能执行的是该方法在父类中的实现,也可能会在某个子类中的实现。这只能根据该变量运行时所指向的具体对象类型确定。这就是运行时多态。

关于多态,总结如下:

1、一个方法,参数是父类的引用,实际调用的时候,参数可以使用父类及所有子类的任意对象,换句话说

父类类型的引用,可以指向一个子类的对象,原因是:上溯造型,可以自动的自下而上地转换,但自上而下只能强转

比如有一个类A,类B,C都继承它
那么可以A a1 = new B();
        A a2 = new C();

PS:不要忘记重写的概念,父类类型的引用指向子类对象后,只能调用被重写的方法,而不能调用子类特有的方法

2、不能把父类对象引用赋给子类对象,即单纯的父类对象不能强转为子类

如:A为父类,B继承A

A a=new A();
  B b=(B)a;  错误

3、何时使用类的强制转换呢?当把子类对象new Sun()引用赋给父类对象father后,想把原先的子类对象还原,则要使用强制类型转换

如:Father father=new Sun();

Sun sun=(Sun)father;

posted @ 2012-10-29 23:58  笑rpp  阅读(140)  评论(0编辑  收藏  举报