1. 程式人生 > >第七週動手動腦

第七週動手動腦

測試截圖

第三次輸出時,父類被子類賦了值,myvalue++。是對父類原本的變數加一,但是呼叫的方法依然是子類的方法和變數

 當子類與父類擁有一樣的方法,並且讓一個父類變數引用一個子類物件時,到底呼叫哪個方法,由物件自己的“真實”型別所決定,這就是說:物件是子型別的,它就呼叫子型別的方法,是父型別的,它就呼叫父型別的方法。
這個特性實際上就是面向物件“多型”特性的具體表現。

如果子類與父類有相同的欄位,則子類中的欄位會代替或隱藏父類的欄位,子類方法中訪問的是子類中的欄位(而不是父類中的欄位)。如果子類方法確實想訪問父類中被隱藏的同名欄位,可以用super關鍵字來訪問它。
如果子類被當作父類使用,則通過子類訪問的欄位是父類的!
牢記:在實際開發中,要避免在子類中定義與父類同名 的欄位。不要自找麻煩!——但考試除外,考試 中出這種題還是可以的。