java 的多态(2013-10-11-163 写的日志迁移

java 的多态性:(所谓多态--就是指一个引用(类型)在不同情况下的多种状态)
 
1.方法的多态: 
 
重载(overload)
 
重写(覆盖 override)
 
2.对象的多态性:(本人这里要说的)
 
对象的多态性体现在继承的过程中,子类与其父类对象之间的类型转换关系。
 
(1) 向上转型(子类对象-->父类对象):在创建对象时,对象可以作为本身的类型引用,可以作为父类型的引用(将一个子类对象直接赋值给一个父类的应用变量),java中允许父类的引用变量引用它子类的实例(对象)
 
如:Animal animal=new Cat();         //动物类(Animal)作为父类直接引用子类(猫类(Cat))
这种转换是自动完成的。
 
(2) 向下转型(父类对象-->子类对象):将父类的对象作为其子类的类型引用(需要强制类型转换)
如:Cat cat=(Cat)animal;  //向下转必须要先产生一个向上转型关系
 
如果是这样:Cat cat=(Cat) new Animal(); //编译也许不会错,但运行时回报java.lang.ClassCastException(转换异常)
 

猜你喜欢

转载自www.cnblogs.com/jiang-xy/p/9340527.html
今日推荐