Java基礎:多態(重載和重寫)


 轉載請注明出處:jiq•欽's technical Blog 


(1)域與靜態方法

記住“僅僅有普通方法的調用是多態的”。

而域和靜態方法不是:對於域的訪問。在編譯期間就已經進行解析和綁定了。而假設某個方法是靜態的,就不具備多態性。


(2)編寫構造器有一條准則:

 * 用盡可能簡單的方法使得對象進入正常狀態。盡量避免調用其它方法。

 * 構造器內可以安全調用的方法僅僅有那些final方法(private默認final),由於他們無法被覆蓋。


(3)多態概念:

多態是指一個程序中同名的不同方法共存的情況。

這些方法同名的原因是它們的終於功能和目的都同樣,可是因為在完畢同一功能時,可能遇到不同的詳細情況。所以須要定義含不同的詳細內容的方法,來代表多種詳細實現形式。


(4)Java提供兩種多態機制:重載與重寫。

方法的重寫Overriding和重載Overloading是Java多態性的不同表現。


重寫Overriding是父類與子類之間多態性的一種表現

=》假設在子類中定義某方法與其父類有同樣的名稱和參數,我們說該方法被重寫 (Overriding)。子類的對象使用這種方法時,將調用子類中的定義,對它而言,父類中的定義如同被"屏蔽"了。


重載Overloading是一個類中多態性的一種表現。

=》假設在一個類中定義了多個同名的方法,它們或有不同的參數個數或有不同的參數類型,則稱為方法的重載(Overloading)。

Overloaded的方法是能夠改變返回值的類型(即僅僅有返回值不同不算重載)。

而即使參數名稱同樣。僅僅要類型不同都是重載,即使他們之間互為繼承關系。




免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM