父類的靜態代碼塊
子類的靜態代碼塊
父類的構造函數(這個時候成員變量值爲java默認初始值)
(在父類構造函數完成之後)給所有成員變量賦值
子類的構造函數
然後執行自定義的方法。
並不執行靜態方法。
一些零碎的知識點:
1.Java中除了static方法和final方法(private方法屬於final方法)之外,其他所有方法都是後期綁定。
2.在子類中是不能覆蓋父類的私有方法的,在調用的時候回仍然執行父類原有的方法。在導出類中對於基類的private方法,最好採用不同的名字。
3.方法如果是靜態的就不存在多態,因爲他與類相關聯而非對象。
4.構造器的調用順序原因:“構造動作一經發生,那麼對象所有部分的全體成員都會得到構建。然而,在構造器內部,我們必須確保所要使用的成員都已經構建完畢。爲確保這一目的,唯一的辦法就是首先調用基類構造器。那麼在進入導出類構造器是,在基類中可供我們訪問的成員都得到初始化。”
5.在清理的過程中,務必調用父類的清理方法,否則基類不會被清除。至於順序和構造時相反,因爲導出類的清理可能會調用基類中的方法,所以需要使基類中的構件仍起作用而不應過早地銷燬他們。
以上知識點全出自《Java編程思想》。我只是一個小小的總結工。
在這裏不得不吐槽一下,有些人把《Java編程思想》裏的東西直接拷貝,然後貼上原創,甚至都沒有說明出自哪裏,這樣真的好嗎,請尊重原創這2個字。