一、方法的定義
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;
}