1. 对象的向上转型,其实就是多态写法:
格式:父类名称 对象名 = new 子类名称();
Animal animal = new Cat();
含义:右侧创建一个子类对象,把它当做父类来看待使用。
创建了一只猫,当做动物看待,没问题
注意事项:
向上转型一定是安全的。从小范围转向了大范围,从小范围的猫,向上转换成更大范围的动物。
但是也有一个弊端:对象一旦向上转型为父类,那么就无法调用子类原本特有的内容。
解决方案:用对象的向下转型【还原】。
2.对象的向下转型,其实就是一个【还原】的动作:
格式:子类名称 对象名 = (子类名称) 父类对象;
Animal animal = new Cat(); // 本来是猫,向上转型成为动物
含义:将父类对象