Java編程思想(第八章多態)學習筆記

第八章:多態

一、多態是繼數據抽象和繼承之後的第三種特徵
  • 多態通過分離做什麼和怎麼做,消除類型之間的耦合關係
二、向上轉型
  • Java中除了static方法和final方法(private方法默認也是final修飾的),其它所有方法都是後期綁定。
  • 特殊注意事項(以下情況,多態不會發生):
  1. 覆蓋父類的private方法
  2. 訪問父類的成員或者靜態方法
三、再論初始化
情景描述:
當父類構造器中,調用了本身的一個實例方法,而這個實例方法又被子類所重寫,
那麼在執行初始化子類對象時,這個被子類重寫的方法會被調用,
但是其中涉及到成員變量的,全部是默認值(0或者null)。
  • 在構造器內唯一能夠安全調用的只有private或者final方法。
  • 初始化過程:
  1. 在其它任何事情發生之前,將分配給對象的存儲空間初始化爲二進制的0
  2. 調用幾類構造器
  3. 按聲明順序進行成員變量初始化
  4. 執行導出類構造器
四、總結
  1. 用繼承表達行爲之間的差異,用字段表達狀態之間的變化
  2. 多態意味着不同的形式,我們持有從基類繼承而來的相同的接口,以及使用該接口的不同形式,不同版本的動態綁定方法。
  3. 多態是一種不能單獨看待的特性,它與抽象+繼承一起協同工作。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章