(1)域與靜态方法
記住“僅僅有普通方法的調用是多态的”。
而域和靜态方法不是:對于域的訪問。在編譯期間就已經進行解析和綁定了。而假設某個方法是靜态的,就不具備多态性。
(2)編寫構造器有一條準則:
* 用盡可能簡單的方法使得對象進入正常狀态。盡量避免調用其它方法。
* 構造器内可以安全調用的方法僅僅有那些final方法(private預設final),由于他們無法被覆寫。
(3)多态概念:
多态是指一個程式中同名的不同方法共存的情況。
這些方法同名的原因是它們的終于功能和目的都同樣,可是因為在完畢同一功能時,可能遇到不同的詳細情況。是以須要定義含不同的詳細内容的方法,來代表多種詳細實作形式。
(4)Java提供兩種多态機制:重載與重寫。
方法的重寫Overriding和重載Overloading是Java多态性的不同表現。
重寫Overriding是父類與子類之間多态性的一種表現
=》假設在子類中定義某方法與其父類有同樣的名稱和參數,我們說該方法被重寫 (Overriding)。子類的對象使用這種方法時,将調用子類中的定義,對它而言,父類中的定義如同被"屏蔽"了。
重載Overloading是一個類中多态性的一種表現。
=》假設在一個類中定義了多個同名的方法,它們或有不同的參數個數或有不同的參數類型,則稱為方法的重載(Overloading)。
Overloaded的方法是能夠改變傳回值的類型(即僅僅有傳回值不同不算重載)。
而即使參數名稱同樣。僅僅要類型不同都是重載,即使他們之間互為繼承關系。
