Fork me on GitHub

多态(二)

abstract class Animal
{
    abstract void eat();
}
 
class Cat extends Animal
{
    public void eat()
    {
        System.out.println("吃鱼");
    }
    public void catchMouse()
    {
        System.out.println("抓老鼠");
    }
}

Animal a = new Cat();//向上转型
a.eat();//打印吃鱼

Cat c = (Cat)a;//强制将父类的引用转成子类类型,向下转型
c.catchMouse(); //这样做才能调用子类特有方法

 

 总结:多态自始至终都是子类对象在做着变化

 

posted @ 2014-12-20 16:53  龙族小龙  阅读(102)  评论(0编辑  收藏  举报