如何理解Java中的多態


前提

可以體現多態的前提有三個

  1. 首先兩個類之間要有繼承關系
  2. 子類需要重寫父類方法
  3. 父類引用指向子類對象

舉例

class duotai 
{ 
    public static void main(String[] args) 
    { 
        Animal am = new Cat(); 
        //動態綁定的結果
        am.eat(); 
        //靜態綁定
        am.sleep();
        // am.catchMouse();
        am.run(); 
        System.out.println(am.num); 
        System.out.println(am.age); 
    }   
}

class Animal 
{ 
    int num = 10; 
    static int age = 20; 
    public void eat() 
    { 
        System.out.println("動物吃飯"); 
    } 
    public static void sleep() 
    { 
        System.out.println("動物在睡覺"); 
    } 
    public void run()
    { 
        System.out.println("動物在奔跑"); 
    } 
}

class Cat extends Animal 
{ 
    int num = 80; 
    static int age = 90; 
    String name = "tomCat"; 

    public void eat() 
    { 
        System.out.println("貓吃飯"); 
    } 
    public static void sleep() 
    { 
        System.out.println("貓在睡覺"); 
    } 
    public void catchMouse() 
    { 
        System.out.println("貓在抓老鼠"); 
    } 
}

上面代碼的運行結果是

貓吃飯
動物在睡覺
動物在奔跑
10
20

由此我們可以列出下表

編譯 運行
成員變量 使用父類 使用父類
成員方法(動態綁定) 使用父類 使用子類
靜態方法(靜態綁定) 使用父類 使用父類


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM