Java面向物件基礎(多型)
阿新 • • 發佈:2021-01-31
多型(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();
}
}
結果: