多型性是指允許不同型別的物件對同一訊息做出相應。具有靈活性、抽象、行為共享、**共享的優勢,共享就意味著最大化利用和簡潔,還有就是載入速度。
一、多型的作用
消除型別之間的耦合關係。即同一事件發生在不同的物件上會產生不同的結果。
二、多型的實現形式
1.過載(發生在同乙個類中)
2.覆蓋(發生在子類中)
三、多型的好處
1.可替換性
2.可擴充套件性
3.介面性(多型是超累通過方法簽名,向子類提供了乙個共同的介面)
4.簡潔性
5.靈活性
注意:這些好處說起來比較虛,只有你真正應用的時候才能體會得到。
四、多型存在的三個前提
1.要有繼承關係
2.子類要重寫父類的方法
3.父類引用指向子類物件
**舉例說明:定義乙個父類animal,乙個子類dog
1//父類——animal
2public
class
animal 910
public
static
void
sleep()
1314
public
void
run()
17 }
1//子類——dog
2public
class dog extends
animal
1011
public
static
void
sleep()
1415
public
void
catchmouse()
1819 }
1//測試類
注意事項演示:
從上面的列印結果(7),我們可以得出:
1)成員變數:列印父類,子類沒有出來;
2)成員方法:父類為靜態的就列印父類,非靜態的直接列印子類;
3)在左側5、6中有報錯,是因為我們在呼叫靜態成員時使用的方法不對。(下面會截圖演示正確的)
4)當呼叫父類裡沒有的方法時(a.catchmouse();),會報錯。)
此時,多型不能使用自己特有的屬性和方法,這是多型的弊端,那要如何解決呢?
答案:把這個父類引用指向子類物件a,再強制變回dog型別。這樣a就是dog型別的引用了,指向的也是dog物件了。
JAVA基礎 多型
概念 乙個事物的多種形態 多型前提和體現 1.有繼承關係或者實現關係 2.有方法重寫 3.有父類引用指向子類物件 父類 public class fu 子類 public class zi extends fu public class demo 1.提高了程式的維護性 由繼承保證 我的理解 1.如...
java 基礎 多型
4.8 多型 定義 某一類事物的多種存在形態。例 動物中貓,狗。貓這個物件對應的型別是貓型別 貓 x new 貓 同時貓也是動物中的一種,也可以把貓稱為動物 動物 y new 貓 動物是貓和狗具體事物中抽取出來的父型別。父型別引用指向了子類物件。多型性簡單說就是乙個物件對應著不同型別。體現 父類或者...
java基礎多型
首先定義乙個boss,叫zeroboss,會使用各種兵器,收了兩個徒弟,並分別贈送他們一件兵器 package zzq public class zeroboss 然後定義乙個zero的徒弟一zeroone,會使用屠龍刀 package zzq public class zeroone extend...