如下有Animal类,Cat类,AnimalDome类
Animal类
public class Animal { public void eat(){ System.out.println("动物吃饭"); } }
cat类
public class Cat extends Animal{ @Override public void eat() { System.out.println("猫吃鱼"); } }
AnimalDome类
public class AnimalDome { public static void main(String[] args) { Animal c=new Cat();//向上转型,从子到父,父类引用指向子类对象 c.eat(); Cat cc=(Cat)c;//向下转型,从父到子,父类引用转为子类对象 cc.eat(); } }
向下转型的根本原因是,直接将对象c的地址传递给cc