- 重寫(override) = 覆蓋
一般是子類繼承父類后抵怎,重寫其中的方法。
重寫有幾個(gè)需要注意的規(guī)則:
1岭参、重寫方法的參數(shù)列表必須完全與被重寫的方法的相同,否則不能稱其為重寫而是重載.
2反惕、重寫方法的訪問修飾符一定要大于被重寫方法的訪問修飾符(public>protected>default>private)
3、重寫的方法的返回值必須和被重寫的方法的返回一致
4演侯、被重寫的方法不能為private姿染,否則在其子類中只是新定義了一個(gè)方法,并沒有對(duì)其進(jìn)行重寫
5秒际、靜態(tài)方法不能被重寫為非靜態(tài)的方法(會(huì)編譯出錯(cuò))
- 重載(overload)
一般是用于在一個(gè)類內(nèi)實(shí)現(xiàn)若干重載的方法悬赏,這些方法的名稱相同而參數(shù)形式不同。
重載的規(guī)則:
1娄徊、在使用重載時(shí)只能通過相同的方法名闽颇、不同的參數(shù)形式實(shí)現(xiàn)。不同的參數(shù)形式可以是不同的參數(shù)類型寄锐,不同的參數(shù)個(gè)數(shù)兵多,不同的參數(shù)順序(參數(shù)類型必須不一樣);
2橄仆、不能通過訪問權(quán)限剩膘、返回類型、拋出的異常進(jìn)行重載盆顾; 3怠褐、方法的異常類型和數(shù)目不會(huì)對(duì)重載造成影響;
繼承是子類使用父類的方法您宪,而多態(tài)則是父類使用子類的方法奈懒。一般奠涌,我們使用多態(tài)是為了避免在父類里大量重載引起代碼臃腫且難于維護(hù)。