对象的向上转型:
格式:父类名称 对象名 = new 子类名称();
举例:Animal animal = new Cat();
对象的向下转型:
格式:子类名称 对象名 = (子类名称)父类对象;
举例:
Animal animal = new Cat();
Cat cat = (Cat) animal;
注意:向下转型要保证对象本来创建的时候就是猫,才能向下转型成为猫。
补充:
如何才能知道一个父类引用的对象,本来是什么子类?
用instanceof关键字:
格式:对象 instanceof 类名称
使用上述格式将会得到一个Boolean值结果,可用于判断。
举例:
if(animal instanceof cat)
{
Cat cat = (Cat) animal;
}