对象向上转型,先看一张图
1.定义一个父类
public abstract class Animal {
public abstract void eat();
}
2.定义一个子类
public class Cat extends Animal {
@Override
public void eat() {
System.out.println("猫吃鱼");
}
}
3.使用
public class Demo01Main {
public static void main(String[] args) {
// 对象的向上转型,就是:父类引用指向之类对象。
Animal animal = new Cat(); // 本来创建的时候是一只猫
animal.eat(); // 猫吃鱼
向上转型一定是安全的,没有问题的,正确的。但是也有一个弊端:
对象一旦向上转型为父类,那么就无法调用子类原本特有的内容。