標籤:ret dem 參數順序 相關 結果 定義 span static rgs
Java允許在一個類中定義多個名稱相同的方法,但是參數的類型或個數必須不同,這就是方法的重載。
public class MethodDemo03 { public static void main(String[] args) { // 下面是針對求和方法的調用 int sum1 = add(1, 2); int sum2 = add(1, 2, 3); double sum3 = add(1.2, 2.3); // 下面的代碼是列印求和的結果 System.out.println("sum1=" + sum1); System.out.println("sum2=" + sum2); System.out.println("sum3=" + sum3); } // 下面的方法實現了兩個整數相加 public static int add(int x, int y) { return x + y; } // 下面的方法實現了三個整數相加 public static int add(int x, int y, int z) { return x + y + z; } // 下面的方法實現了兩個小數相加 public static double add(double x, double y) { return x + y; }}
在main()方法中調用add()方法時,通過傳入不同的參數便可以確定調用哪個重載的方法,如add(1,2)調用的是兩個整數求和的方法。值得注意的是,方法的重載與傳回值類型無關,它只有兩個條件,一是方法名相同,二是參數個數或參數類型不相同。
l 重載方法參數必須不同:
參數個數不同,如method(int x)與method(int x,int y)不同
參數類型不同,如method(int x)與method(double x)不同g
參數順序不同,如method(int x,double y)與method(double x,int y)不同
l 重載只與方法名與參數類型相關與傳回值無關
如void method(int x)與int method(int y)不是方法重載,不能同時存在
l 重載與具體的變數標識符無關
如method(int x)與method(int y)不是方法重載,不能同時存在
java 方法重載