1.6 方法重載

一、方法的定義

1、方法的格式詳解

修飾符 返回值類型 方法名(參數列表){
        //代碼省略...
        return 結果;
}
  • 修飾符: public,private。
  • 返回值類型: 表示方法運行的結果的數據類型,方法執行後將結果返回到調用者。
  • 參數列表: 方法在運算過程中的未知數據,調用者調用方法時傳遞。
  • 返回值: 將方法執行後的結果帶給調用者,方法執行到return ,整體方法運行結束。

2、定義方法的注意事項

  • 定義位置,類中方法外面。
  • 返回值類型,必須要和return語句返回的類型相同,否則編譯失敗 。
// 返回值類型要求是int
public static int getSum() {
    return 5;// 正確,int類型
    return 1.2;// 錯誤,類型不匹配
    return true;// 錯誤,類型不匹配
}
  • 不能在return 後面寫代碼,return 意味着方法結束,所有後面的代碼永遠不會執行,屬於無效代碼。
public static int getSum(int a,int b) {
  	return a + b;
  	System.out.println("Hello");// 錯誤,return已經結束,這裏不會執行,無效代碼
}

二、方法重載

1、定義

  • 方法重載:指在同一個類中,允許存在一個以上的同名方法,只要它們的參數列表不同即可,與修飾符和返回值類型無關。
  • 參數列表(不同): 個數不同,數據類型不同,順序不同。
  • 重載方法調用: JVM通過方法的參數列表,調用不同的方法。

重載規則:

  • 被重載的方法必須形參列表不一樣(參數個數或類型不一樣);
  • 被重載的方法可以改變返回類型;
  • 被重載的方法可以改變訪問修飾符;
  • 被重載的方法可以聲明新的或更廣的檢查異常;
  • 方法能夠在同一個類中或者在一個子類中被重載。
  • 返回值類型不能作爲重載函數的區分標準。

最常用的地方就是構造器的重載。(有參和無參構造的重載)

2、例子

main測試

public static void main(String[] args) {
    //定義不同數據類型的變量
    byte a = 10;
    byte b = 20;
    short c = 10;
    short d = 20;
    // 調用
    System.out.println(compare(a, b));
    System.out.println(compare(c, d));
}

重載類

// 兩個byte類型的
public static boolean compare(byte a, byte b) {
    System.out.println("byte");
    return a == b;
}
// 兩個short類型的
public static boolean compare(short a, short b) {
    System.out.println("short");
    return a == b;
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章