首頁 >Java >java教程 >JAVA方法的重載與覆寫

JAVA方法的重載與覆寫

PHP中文网
PHP中文网原創
2017-06-22 14:25:221392瀏覽

方法的重載:(用於實現相同的功能,但需要不同的參數滿足不同的使用者)在同一個類別中。

是指在一個類別中可以定義相同的名字,相同或不同的回傳值,但參數不同的多個方法(參數個數或參數類型)。呼叫時,運用重載,對於使用者使用API​​來說,就簡單方便。不用為相同功能的方法取不同的名字,話說起來也方便,對使用者來說做相同的事情,像是呼叫同一個函數一樣。構造方法也可以重載。只要程式自己定義了建構方法,系統就不提供預設的建構方法。

    方法的覆寫(重寫):(子類別覆寫父類別的方法,在不同的類別中)

 

   方法的重寫(override/ overwrite)

   與重載差異:方法重載是定義多個函數名稱在一個類別中相同回傳型別相同,但參數不同的

    重寫方法時:最好是採用copy父類別的此函數

1、  在子類別中可以根據需要對從基底類別繼承來的方法進行重寫。

2、  重寫方法必須和被重寫方法具有相同方法名稱、參數清單和傳回類型。

3、  重寫方法不能使用比重寫方法更嚴格的存取權限。

嚴格順序private>default>protecte>public ,這個與多態有關,講了多態就會明白很多。當某個地方由父類別修飾了,可以呼叫父類別的某個方法。若子類別對此方法存取更嚴格,當傳遞子類別過來,那麼可能造成不可存取

java的多態:重載+覆寫

問題:Java中使用什麼機制實現多態?

多態是Java物件導向的特徵之一,Java中透過重載和覆寫來完成多態性的不同表現。但是二者是有差別的。

1)重載(Overloading)

Java中方法的重載,指的是類別中可以建立多個方法,它們具有相同的名字,但具有不同的引數列(參數型別和個數)和不同的定義。而傳回值的類型可以相同也不以不同,但​​是不能只透過不同的回傳值來區分重載函數。呼叫方法的時候會根據參數列表來判斷要呼叫哪個方法。重載是一個類別中的多態性表現。

2)覆寫(Overriding)

Java中,子類別預設可以繼承父類別中的方法,而不需要重新編寫相同的方法,但是有時候,子類別並不想原封不動的繼承父類別中的方法,而是做出一定的修改,這就是採用方法的覆寫(也成為覆蓋)來實現的。 Java中覆寫指的是,在子類別中對父類別中相同重名函數實作部分加以改變,但與父類別的該方法的方法名稱、傳回型別和參數清單都保持一致。即子類別對父類別中的函數進行重新定義,子類別中的新方法將覆寫父類別原有的方法。覆寫是父類別與子類別之間的一種多型表現。

以上是JAVA方法的重載與覆寫的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn