這個是我最開始混淆的問題,我的結論居然笑掉了大牙。說明我從本質上沒有理解兩者之間的概念。
現在重新的縷一下。
重寫:方法名必須相同,建構函式(引數)必須相同。(覆蓋)
過載:方法名必須相同,建構函式(引數)必須不同。
這是兩者的本質含義,後來乙個朋友給我舉了乙個例子,很貼切,也能更好的理解。
**諾的例子:
你爸爸有一棟房子,你繼承了你父親的房子,你父親擁有房子的時候,規定,衛生間只能進男人,但是當你繼承的時候,感覺這個制度不適合你用,於是就改為,衛生間任何人都可以進入,別的規則則保留。這就是重寫。因為房子還是房子,衛生間還是衛生間,只是改了裡面規則,就如改了方法體一樣,也叫作覆蓋。
保留原來可以用的,改了不適合自己的。
重寫是父子類之間的,也就是說兩個類之間,而過載,是在乙個類中,比如:構造方法,無參構造和有參構造,難道這個有參構造把引數去掉就是重寫無參構造嗎?答案是:那就報錯了
重寫與過載
override 為覆蓋又叫重寫,從字面就可以知道,它是覆蓋了乙個方法並且對其重寫,以求達到不同的作用。對我們來說最熟悉的覆蓋就是對介面方法的實現,在介面中一般只是對方法進行了宣告,而我們在實現時,就需要實現介面宣告的所有方法。除了這個典型的用法以外,我們在繼承中也可能會在子類覆蓋父類中的方法。在覆...
過載與重寫
過載與重寫 面對過載與重寫有時會像失憶一樣,將這兩個內容搞混。在實際運用中,我們一般是不會混的。但在給別人講述的過程中,可能會出現張冠李戴將兩個名詞搞混,這是不利於傳播的。讓我們來一起加深一下 過載 相同函式名稱,不同引數或不同引數型別。舉個例子 class oneclass public doub...
重寫與過載
重寫方法的規則 1.引數列表必須完全與被重寫的方法的相同,否則不能稱其為重寫而是過載.2.返回的型別必須一直與被重寫的方法的返回型別相同,否則不能稱其為重寫而是過載.3.訪問修飾符的限制一定要大於被重寫方法的訪問修飾符 public protected default private 4.重寫方法一...