方法的重載是指一個類中可以定義多個方法名相同,但參數不同的方法。 調用時,會根據不同的參數自動匹配對應的方法。
雷區
重載的方法,實際是完全不同的方法,只是名稱相同而已!
構成方法重載的條件:
1.不同的含義:形參類型、形參個數、形參順序不同
2.只有返回值不同不構成方法的重載
如:
int a(String str){}與 void a(String str){} |
3.只有形參的名稱不同,不構成方法的重載
int a(String str){}與int a(String s){} |
【示例】方法重載
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){ //加上static后主函數就可以直接調用,不用創建對象 return n1+n2; } // 方法名相同,參數個數不同,構成重載 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; } */