繼承:子類繼承父類中所有的屬性和方法,但是對於private的屬性和方法,由於這個是父類的隱私,所以子類雖然是繼承了,但是沒有可以訪問這些屬性和方法的引用,所以相當於沒有繼承到。很多時候,可以理解為沒有繼承。
多型:就是父類引用可以持有子類物件。這時候只能呼叫父類中的方法,而子類中特有方法是無法訪問的,因為這個時候(編譯時)你把他看作父類物件的原因,但到了執行的時候,編譯器就會發現這個父類引用的原來是乙個子類的物件,所以如果父類和子類中有相同的方法時,呼叫的會是子類中的方法,而不是父類的。
多型的情況下:
成員的特點——
1.成員變數
編譯時:參考應用型變數所屬的類中是否有呼叫的成員變數。有,編譯通過;沒有,編譯失敗
執行時:參考引用型變數所屬的類中是否有呼叫的成員變數,並執行該所屬類中的成員變數
簡單地說——編譯和執行都參考等號的左邊!!
2.成員函式(非靜態)
編譯時:參考引用型變數所屬的類中是否有呼叫的函式。有,編譯通過;沒有,編譯失敗
執行時:參考的是物件所屬的類中是否有呼叫的函式
簡單地說——編譯看左邊,執行看右邊
3.靜態函式
編譯時:參考應用型變數所屬的類中是否有呼叫的成員變數。
執行時:參考應用型變數所屬的類中是否有呼叫的成員變數。
簡單地說——編譯和執行都參考等號的左邊!!
其實對於靜態方法,是不需要物件的,直接用類名呼叫即可
JAVA 的多型 繼承與封裝
物件導向的三大特性 封裝 繼承 多型。定義 指允許不同類的物件對同一訊息做出響應。即同一訊息可以根據傳送物件的不同而採用多種不同的行為方式。傳送訊息就是函式呼叫 多型的作用 消除型別之間的耦合關係。多型存在的三個必要條件 1.要有繼承 2.要有重寫 3.父類引用指向子類物件。多型的好處 1.可替換性...
java繼承多型
1 final關鍵字可以幹什麼?有什麼特點?修飾類,使得類不能被繼承 修飾變數,相當於const,變數不能被更新 修飾方法,方法不能被重寫override 2 final關鍵字的面試題?a 修飾區域性變數 基本型別 值不變 引用型別 位址不變,例如在乙個類中再new乙個其他類的final物件d,則d...
java多型繼承
繼承中的成員方法訪問特點 子類繼承父類,當成員方法名稱不一致的時候,分別呼叫 當成員方法名稱一致的情況,首先在子類中有麼有該方法,如果有,就呼叫 如果沒有,就呼叫父類的成員方法 方法重寫 override 繼承裡面的技術 當子類出現了和父類一模一樣的方法的時候,子類的方法會重寫 覆蓋,複寫 父類的方...