package day2.yubaby01.p3;
/*
1.4 多态中的转型
向上转型
子-->父
父类引用指向子类对象
向下转型
父-->子
父类引用转为子类对象
格式:子类型 对象名 = (子类型)父类引用;
*/
public class AnimalDemo {
public static void main(String[] args) {
Animal a = new Cat(); //多态(即向上转型)
a.eat();
// a.playGame(); //error
/*Cat c = new Cat();
c.eat();
c.playGame(); //ok*/
//向下转型
Cat c2 = (Cat)a;
c2.eat();
c2.playGame(); //ok
//或
((Cat) a).playGame(); //ok
}
}
package day2.yubaby01.p3;
public class Animal {
public void eat(){
System.out.println("动物进食");
}
}
package day2.yubaby01.p3;
public class Cat extends Animal{
@Override
public void eat(){
System.out.println("猫吃草?");
}
public void playGame(){
System.out.println("猫玩捉迷藏");
}
}