允許不同類的物件對同一訊息做不同的響應。即同一訊息可以根據傳送物件的不同而採用多種不同的行為方式。(傳送訊息就是函式呼叫)。多型使用了一種動態繫結(dynamic binding)技術,指在執行期間判斷所引用物件的實際型別,根據其實際的型別呼叫其相應的方法。多型的使用消除了型別之間的耦合關係。
介面實現,繼承父類進行方法重寫,同乙個類中進行方法過載。前兩種稱為動態多型或執行時多型,最後一種稱為靜態多型或編譯多型。
1)成員變數
編譯時:參考引用變數所屬的類中是否有呼叫的成員變數,有編譯通過,無,編譯失敗。
執行時:參考引用變數所屬的類中是否有呼叫的成員變數,並執行該類所屬中的成員變數。
2)成員方法
編譯時:參考引用變數所屬的類中是否有該方法,有編譯通過,無,編譯失敗。
執行時:參考實際變數所屬的類中是否有該方法。
簡單說:編譯看引用變數,執行看實際變數
3)靜態方法
編譯和執行都看引用變數,靜態型別屬於類,不存在多型
靜態方法只能被靜態方法覆蓋
Java構造方法中的多型
public classqdbextendsdepend voidprint public static voidmain string args classdepend voidprint 對於這道題,我的答案是 depend 10 target 30 depend 20 可是在執行後我發現答案是...
Java中的多型
多型也就是乙個名字多中狀態,這就叫多型。例如,人 老師,學生 老師和學生都是人,也就是人現在有兩種狀態。多型有四種型別 1,基本型別的多型。例如,byte,int,double,float,long。例如2,我們可以把它當作int型別,byte型別,long型別,還可以把其當作double型別。2說...
java中的多型
下面乙個例子,可以很清楚的給大家講解什麼是多型 父類 public class baseclass public void test 子類 public class subclass extends baseclass public void sub 呼叫 public static void ma...