開始了我的第一篇隨筆,本人也是初學java,看書時突然看到一個重構的概念,當時就蒙了,這東西和重寫有啥不一樣嘛?,然後就是各種博客百度,
重載
先來說說重載的概念:
兩個以上的函數,具有相同的函數名, 但是形參的個數或者類型不同。重載的函數只能通過參數表來區分,返回值類型不能區分重載函數
下面舉個列子;
public class One {
public void pr(int age){
System.out.println("你的年齡是"+age+"歲");
}
public void pr(String name){
System.out.println("你的名字是"+name);
}
}
重寫
重寫(覆蓋)就是在子類中將父類的成員方法的名稱保留,重寫成員方法的實現內容,更改成員方法的存儲權限,或是修改成員方法中的返回值類型。
當重寫父類方法時,修改方法的修飾權限只能從小的範圍到大的範圍改變。例如,如果父類中run()方法的修飾權限爲protected,繼承後子類中的run()的修飾權限只能修改爲public,不能修改爲private。
重構
重構,一種特殊的重寫方式其本質還是重寫 ,子類與父類的成員方法返回值、方法名稱、參數類型及個數完全相同,唯一不同的是方法實現內容。