古詩詞大全網 - 字典詞典 - override什麽意思

override什麽意思

override可以翻譯為覆蓋,從字面就可以知道,它是覆蓋了壹個方法並且對其重寫,以求達到不同的作用。

對我們來說最熟悉的覆蓋就是對接口方法的實現,在接口中壹般只是對方法進行了聲明,而我們在實現時,就需要實現接口聲明的所有方法。除了這個典型的用法以外,我們在繼承中也可能會在子類覆蓋父類中的方法。

在覆蓋要註意以下的幾點:

1、覆蓋的方法的標誌必須要和被覆蓋的方法的標誌完全匹配,才能達到覆蓋的效果;

2、覆蓋的方法的返回值必須和被覆蓋的方法的返回壹致;

3、覆蓋的方法所拋出的異常必須和被覆蓋方法的所拋出的異常壹致,或者是其子類;

4、被覆蓋的方法不能為private,否則在其子類中只是新定義了壹個方法,並沒有對其進行覆蓋。

overload對我們來說可能比較熟悉,可以翻譯為重載,它是指我們可以定義壹些名稱相同的方法,通過定義不同的輸入參數來區分這些方法,然後再調用時,VM就會根據不同的參數樣式,來選擇合適的方法執行。

重載

使用重載要註意以下的幾點

1、在使用重載時只能通過不同的參數樣式。例如,不同的參數類型,不同的參數個數,不同的參數順序(同壹方法內,參數類型參數類型不同的情況下才考慮參數順序.比如fun(int a,int b)和fun(int b,int a)則是同樣的方法,不能算作重載);

2、不能通過訪問權限、返回類型、拋出的異常進行重載;

3、方法的異常類型和數目不會對重載造成影響;

4、對於繼承來說,如果某壹方法在父類中是訪問權限是private,那麽就不能在子類對其進行重載,如果定義的話,也只是定義了壹個新方法,而不會達到重載的效果。