Java方法
方法的定義
Java的方法類似于其他語言的函數,是一段用來完成特定功能的代碼片段,一般情況下,定義一個方法包含以下語法:
修飾符 返回值類型 方法名(參數類型 參數名){
方法體
return 返回值;
}
方法包含一個方法頭和一個方法體。下面是一個方法的所有部分:
-
修飾符:可選,告訴編譯器如何調用該方法。定義了該方法的訪問類型。
-
返回值類型:方法可能會返回值。returnValueType是方法返回值的數據類型。有些方法執行所需的操作,但沒有返回值。在這種情況下,returnValueType是關鍵字void。
-
方法名:是方法的實際名稱。方法名和參數表共同構成方法簽名。
-
參數類型:當方法被調用時,傳遞值給參數。這個值被稱為實參或變量。參數列表是指方法的參數類型、順序和參數的個數。參數是可選的,方法可以不包含任何參數。
? 形式參數:在方法被調用時用于接收外界輸入的數據。
? 實參:調用方法時實際傳給方法的數據。
-
方法體:方法體包含具體的語句,定義該方法的功能。
方法調用
對象名.方法名(實參列表)
Java支持兩種調用方法的方式,根據方法是否返回值來選擇。
當方法返回一個值的時候,方法調用通常被當作一個值。例如:
int larger = max(30, 40);
如果方法返回值是void,方法調用一定是一條語句。
System.out.println();
方法重載
重載就是在一個類中,有相同的函數名稱,但形參不同的函數。
方法重載的規則
- 方法名稱必須相同。
- 參數列表必須不同(個數不同或類型不同、參數排列順序不同等)。
- 方法的返回類型可以相同也可以不相同。
- 僅僅返回類型不同不足以稱為方法的重載。
實現理論
方法名相同時,編譯器會根據調用方法的參數個數、參數類型等去逐個匹配,以選擇對應的方法,如果匹配失敗,則編譯器報錯。
可變參數
JDK 1.5 開始,Java支持傳遞同類型的可變參數給一個方法。
在方法聲明中,在指定參數類型后加一個省略號(...)。
一個方法中只能指定一個可變參數,它必須是方法的最后一個參數。任何普通的參數必須在它之前聲明。
public static void xx(int... i){}
遞歸
方法在方法體中調用自身。
遞歸結構包括兩個部分:
- 遞歸頭:什么時候不調用自身方法。如果沒有頭,將陷入死循環。
- 遞歸體:什么時候需要調用自身方法。

浙公網安備 33010602011771號