多态

面向对象编程有4大特征:抽象,继承,封装,多态。

 

什么是多态

多态又叫做动态绑定或者迟绑定,是运行期间根据所引用的具体对象类型来调用相应的方法。

 

 

多态的条件

1.要有继承 

2.子类重写父类的方法。

3.父类引用指向子类对象。

 

转型

1.向上转型:比如Dog继承Animal,Animal a = new Dog();(其实就是父类引用指向子类对象)。

2.向下转型:在向上转型后再转回来就是向下转型。     Animal a = new Dog();Dog dog = (Dog)a;

 

原则

多态一定是父类引用指向子类对象,如果反过来就会有问题。

比如Dog dog = (Dog)new Animal();编译时没问题,但是会在运行时报错。

 

posted @ 2017-02-08 17:24  TP000  阅读(157)  评论(0编辑  收藏  举报