【Java】重載(Overload)與重寫(Override)
阿新 • • 發佈:2018-08-30
{} 方法 ide jump exce 上一條 內部 https pre
方法的語法
修飾符 返回值類型 方法名(參數類型 參數名){ ... 方法體 ... return 返回值; }
重載(overload)
/** * 重載Overload: * 同一個類中,多個方法擁有相同的名字,但參數類型以及參數數量必須不一樣。 * 返回值可相同也可不相同,但單憑返回值不可用來判斷方法之間是否存在。 */ public class example { public void print() {}; //public String print() {}; 參數類型與上一條方法一樣,返回值不同,無法通過編譯 public void print(int a) {}; public void print(String a) {}; }
重寫Override
/** * 1. 重寫方法只能存在於父子類間,父子類間的這個方法的參數列表、返回類型必須完全相同 * 2. 重寫的方法中,子類的權限修飾符必須>=父類的 * 3. 父類的方法為private時,子類出現同名方法不屬於方法的改寫,只是在子類內部重新定義的一個方法 * 4. 重寫方法中,子類拋出的異常需要小於等於父類拋出的異常 * */ class animal{ int num; public void eat() { System.out.println("fruits"); }; private void run() { System.out.println("run"); } public void count() throws IOException {} } class lion extends animal{ public void eat() {//屬於改寫 System.out.println("meat"); } public void run() {//不屬於改寫 System.out.println("jump"); } //public void count() throws ClassNotFoundException {}; 不能拋出父類方法中沒有的異常 public void count() throws IOException {} //子類拋出的異常可與父類相同的異常或子異常 }
參考:
https://www.cnblogs.com/jenkinschan/p/5847470.html
【Java】重載(Overload)與重寫(Override)