1. 程式人生 > 其它 >Java面向物件基礎(多型)

Java面向物件基礎(多型)

技術標籤:總結基礎概述java多型

多型(Polymorphism)

多型是同一個行為具有多個不同表現形式或形態的能力
多型就是同一個介面,使用不同的例項而執行不同操作

什麼是多型
生活中的多型 :
同一種事務,由於條件的不同,產升的結果或形態也不同

java中的多型:
同一個引用型別,使用不同的例項而執行不同的操作。也可以理解為同一個
方法呼叫,由於物件不同可能會有不同的行為。

多型存在的三個必要條件
⭐繼承
⭐重寫
⭐基類引用指向派生類物件(引用還是指向基類)

如何使用多型

繼承和重寫是實現多型的基礎

要點:
多型是方法的多型,屬性沒有多型
多型的存在的必要條件:繼承,方法重寫,父類引用指向子類物件

父類引用指向子類物件後,用該父類引用呼叫子類重寫方法,此時多型就出現了

程式碼例項:

public class DayGF extends GirlFriend{
    //方法重寫
    public void  show(){
        super.show();
        System.out.println("我是你白天的女朋友");
    }
}

public class EvGF extends GirlFriend{

    //方法重寫
    public void show(){
        System.out.println("我是晚上的江君,哈哈哈"
); } }
//定義女朋友類  i定義老師  父類
public class GirlFriend {

    public  void  show(){
        System.out.println("我是你的女朋友,江君");
    }
}

public class Test {
    public static void now(GirlFriend gf){
        gf.show();
    }

    /*為晚上單獨寫一個
    public static void now(EvGF gf){
        gf.show();
    }
    */
public static void main(String[] args) { DayGF dayGF = new DayGF(); now(dayGF); } }
public class Test2 {
    public static void main(String[] args) {
        //前父後子 就叫多型
        //編譯看左邊 執行看右邊 如果右邊沒有該方法 則向上查詢
        DayGF dayGF = new DayGF();
        dayGF.show();
    }
}

結果:
在這裡插入圖片描述