172 多态的转型
向上转型 |
从子到父。父类引用指向子类对象 |
向下转型 |
从父到子。父类引用转为子类对象。Zi z=(Zi)f;这样一来,就可以调用子类的独有方法了 |
project/myDuoTai
package/itheima04
3 class/animal,cat,animaldemo
思路
animal类,包含eat方法
cat类,继承animal,重写eat方法,独有playgame方法
demo类,main方法,创建向上转型对象、向下转型对象
package itheima04E172;
public class AnimalDemo {
public static void main(String[] args) {
//向上转型
Animal a = new Cat();
a.eat();
//(调用子类cat独有方法playGame)报错了
//a.playGame();
//创建cat类的对象吗,以调用子类cat独有方法playGame
//Cat c= new Cat();
//c.eat();
//c.playGame();
//向下转型,以不创建cat对象但能调用playGame方法
Cat c=(Cat)a;
c.eat();
c.playGame();
}
}