标题: 012分享_day10多态中向上下转型,多态的体现 [打印本页] 作者: 掉了一地.. 时间: 2015-2-1 20:29 标题: 012分享_day10多态中向上下转型,多态的体现 多态:
体现:父类的引用指向了自己的子类对象。
Animal a = new Dog();
好处:提高了程序扩展性,提高代码复用性,
弊端:通过父类引用操作子类对象时,只能使用父类中已有的方法。不能操作子类所特有的方法。
前提:类之间必须有关系:可以为继承,可以为实现,通常都有重写的方法。
1,转型:子类的特有的方法如何调用呢?
animal a = new dog();//animal是父类型,new dog 是子对象。
但是父类型引用指向子类对象时,这就是让子类对象进行了类型的提升(向上转型),
好处:提高了扩展性,隐藏了子类型。弊端:不能使用子类型的特有方法。
如果要想使用子类的特有方法,只有子类型可以用。
可以向下转型,然后强制转换:
animal a = new dog();
a。eat();
Dog d = (Dog)a;//强制类型转换
d。lookhome();//然后可以调用子类的方法。
当需要使用子类的特有方法时 需要向下转型;
无论向上转型还是向下转型,最终都是子类对象做着类型的变化。。