方法的重載(overload)


      方法的重載是指一個類中可以定義多個方法名相同,但參數不同的方法。 調用時,會根據不同的參數自動匹配對應的方法。

雷區

      重載的方法,實際是完全不同的方法,只是名稱相同而已!

      構成方法重載的條件:

      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;
    } 
*/ 

 

 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM