java多态

简单的polymorphism例子,有助于理解java的多态。

public class Animal{
    public void move(){
        System.out.println("running");
}
    public static void main(String args[]){
        Animal a = new Animal();
        Animal b = new Bird();
        Bird c = new Bird();
        Animal d = new Fish();
        a.move();
        b.move();
        c.move();
        d.move();
    }
}

class Bird extends Animal{
    public void move(){
        System.out.println("flying");
}
}

class Fish extends Animal{
    public void move(){
        System.out.println("swimming");
}
}

/*多态的三个条件:
 *1:继承
 *2:重写
 *3:父类引用指向子类对象
 *当超类对象引用变量引用子类对象时,被引用对象的类型而不是引用变量的类型决定了调用谁的成员方法, *但是这个被调用的方法必须是在超类中定义过的,也就是说被子类覆盖的方法。
*/

posted @ 2012-02-22 13:03  qinglouer  阅读(176)  评论(0编辑  收藏  举报