对多态中的父类、子类的认识
多态的时候,要注意:子类特有功能,父类引用不能访问。
若需要访问,可执行以下操作:
A:创建子类对象即可。
B:把以前的狗转成真的狗。
多态中的转型:
A:向上转型 从子到父。
B:向下转型 从父到子。
class Animal {
public void eat() {}
}
class Dog extendsAnimal {
public void eat() {
System.out.println("狗吃肉");
}
public void lookDoor() {
System.out.println("狗看门");
}
}
class Cat extendsAnimal {
public void eat() {
System.out.println("猫吃鱼");
}
}
class AnimalDemo {
public static void main(String[] args) {
Animal a = new Dog(); //把狗赋值给动物,狗是动物
a.eat();
Dog d = (Dog)a;
d.eat();
d.lookDoor();
a = new Cat(); //向上转型
a.eat();
Cat c = (Cat)a; //向下转型
c.eat();
}
}