方法的重載是指一個類中可以定義多個方法名相同,但參數不同的方法。 調用時,會根據不同的參數自動比對對應的方法。
重載的方法,實際是完全不同的方法,隻是名稱相同而已!
構成方法重載的條件:
1.不同的含義:形參類型、形參個數、形參順序不同
2.隻有傳回值不同不構成方法的重載
3.隻有形參的名稱不同,不構成方法的重載
【示例】方法重載
public class Test21 {
public static void main(String[] args) {
System.out.println(add(3, 5));// 8
System.out.println(add(3, 5, 10));// 18
System.out.println(add(3.0, 5));// 8.0
System.out.println(add(3, 5.0));// 8.0
// 我們已經見過的方法的重載
System.out.println();// 0個參數
System.out.println(1);// 參數是1個int
System.out.println(3.0);// 參數是1個double
}
/** 求和的方法 */
public static int add(int n1, int n2) {
int sum = n1 + n2;
return sum;
}
// 方法名相同,參數個數不同,構成重載
public static int add(int n1, int n2, int n3) {
int sum = n1 + n2 + n3;
return sum;
}
// 方法名相同,參數類型不同,構成重載
public static double add(double n1, int n2) {
double sum = n1 + n2;
return sum;
}
// 方法名相同,參數順序不同,構成重載
public static double add(int n1, double n2) {
double sum = n1 + n2;
return sum;
}
//編譯錯誤:隻有傳回值不同,不構成方法的重載
public static double add(int n1, int n2) {
double sum = n1 + n2;
return sum;
}
//編譯錯誤:隻有參數名稱不同,不構成方法的重載
public static int add(int n2, int n1) {
double sum = n1 + n2;
return sum;
}
}