Java的繼承與多型

2021-06-18 08:20:46 字數 700 閱讀 1209

繼承:子類繼承父類中所有的屬性和方法,但是對於private的屬性和方法,由於這個是父類的隱私,所以子類雖然是繼承了,但是沒有可以訪問這些屬性和方法的引用,所以相當於沒有繼承到。很多時候,可以理解為沒有繼承。

多型:就是父類引用可以持有子類物件。這時候只能呼叫父類中的方法,而子類中特有方法是無法訪問的,因為這個時候(編譯時)你把他看作父類物件的原因,但到了執行的時候,編譯器就會發現這個父類引用的原來是乙個子類的物件,所以如果父類和子類中有相同的方法時,呼叫的會是子類中的方法,而不是父類的。

多型的情況下:

成員的特點——

1.成員變數

編譯時:參考應用型變數所屬的類中是否有呼叫的成員變數。有,編譯通過;沒有,編譯失敗

執行時:參考引用型變數所屬的類中是否有呼叫的成員變數,並執行該所屬類中的成員變數

簡單地說——編譯和執行都參考等號的左邊!!

2.成員函式(非靜態)

編譯時:參考引用型變數所屬的類中是否有呼叫的函式。有,編譯通過;沒有,編譯失敗

執行時:參考的是物件所屬的類中是否有呼叫的函式

簡單地說——編譯看左邊,執行看右邊

3.靜態函式

編譯時:參考應用型變數所屬的類中是否有呼叫的成員變數。

執行時:參考應用型變數所屬的類中是否有呼叫的成員變數。

簡單地說——編譯和執行都參考等號的左邊!!

其實對於靜態方法,是不需要物件的,直接用類名呼叫即可

JAVA 的多型 繼承與封裝

物件導向的三大特性 封裝 繼承 多型。定義 指允許不同類的物件對同一訊息做出響應。即同一訊息可以根據傳送物件的不同而採用多種不同的行為方式。傳送訊息就是函式呼叫 多型的作用 消除型別之間的耦合關係。多型存在的三個必要條件 1.要有繼承 2.要有重寫 3.父類引用指向子類物件。多型的好處 1.可替換性...

java繼承多型

1 final關鍵字可以幹什麼?有什麼特點?修飾類,使得類不能被繼承 修飾變數,相當於const,變數不能被更新 修飾方法,方法不能被重寫override 2 final關鍵字的面試題?a 修飾區域性變數 基本型別 值不變 引用型別 位址不變,例如在乙個類中再new乙個其他類的final物件d,則d...

java多型繼承

繼承中的成員方法訪問特點 子類繼承父類,當成員方法名稱不一致的時候,分別呼叫 當成員方法名稱一致的情況,首先在子類中有麼有該方法,如果有,就呼叫 如果沒有,就呼叫父類的成員方法 方法重寫 override 繼承裡面的技術 當子類出現了和父類一模一樣的方法的時候,子類的方法會重寫 覆蓋,複寫 父類的方...