對於類的方法(包括從父類中繼承的方法),如果兩個方法的參數名相同,但參數不一致,那麼可以說一個方法是另一個方法的重載方法。
方法的重載必須滿足以下條件:
1)方法名相同
2)方法的參數類型、個數、順序至少有一項不同
3)方法的返回類型可以不相同
4)方法的修飾符可以不相同
*參數簽名是指參數的類型、個數和順序。
注:如果在一個類中有兩個方法名相同且參數簽名也完全相同的方法,那麼Java虛擬機在運行時候就無法決定到底執行哪個方法。
假如在以下TestOverload類中定義了method()方法
public class TestOverload { public void method(int i, String str){} //加入其他方法 }
下面哪些方法加入到TestOverload類中並能保證編譯正確?
A)public void method(String str, int i){}
B)public int method(int i, String str){ return 0; }
C)private void method(int i, String s){}
D)public void Mehtod(int i, String str){}
E)abstract void method(int i);
答案爲 A,D