類中的方法定義對象的行為。方法是一個命名的代碼塊。調用方法的代碼是方法的調用者。
可選地,方法可以接受來自調用者的輸入值,並且它可以向調用者返回值。
輸入值的列表稱為參數。 方法可以具有零參數。 如果一個方法有零個參數,我們說該方法沒有任何參數或方法不使用參數。
方法總是在類的主體內定義。方法聲明的一般語法是形式 -
<modifiers> <return type> <method name> (<parameters list>) <throws clause>{
// Body of the method goes here
}
<modifiers>
是修飾符的可選列表;<return type>
是從方法返回的值的數據類型;<method name>
是方法的名稱;
方法參數
方法名稱後面是一對閉合的小括弧。或者,可以在括弧內為方法指定一個或多個參數,多個參數用逗號分隔。
右括弧可以後跟一個throws
子句。最後,在大括弧內指定代碼的實現。方法聲明中的四個部分是必需的:
- 返回類型;
- 方法名稱;
- 一個小括弧;
- 一個大括弧;
以下是一個方法的示例:
- 方法的名稱是:
add
; - 使用兩個
int
類型的參數:n1
和n2
; - 返回這兩個參數的和;
int add(int n1, int n2) {
int sum = n1 + n2;
return sum;
}
有時,方法不會向其調用者返回值。 如果方法不向調用者返回任何值,則使用關鍵字void作為返回類型。
方法名稱必須是有效的Java識別字。
通常,Java方法從小寫開始,隨後使用字帽,也就是之後的單詞的第一個字母大寫。例如,getName
,setName
,getDogCount
和createDog
都是有效的方法名稱。方法可以從其調用者獲取輸入值。參數用於從調用者獲取輸入值。
參數由兩部分組成:數據類型和變數名稱。 方法參數是變數聲明。變數用於保存從方法的調用者傳遞的輸入值。逗號分隔方法中的參數。
在以下示例中,add
方法聲明兩個參數:n1
和n2
。 兩個參數都是int
數據類型。
int add(int n1, int n2) {
int sum = n1 + n2;
return sum;
}
當調用add
方法時,調用者必須傳遞兩個int
值。從調用者傳遞的第一個值存儲在n1
中,從調用者傳遞的第二個值存儲在n2
中。
參數n1
和n2
也稱為形式參數。
方法通過其在特定上下文中的簽名唯一地標識。 方法的簽名是其名稱及其參數的數量,類型和順序的組合。
局部變數
在方法,構造函數或方法塊中聲明的變數稱為局部變數。在方法中聲明的局部變數僅在執行方法的持續時間記憶體在。因為局部變數只存在一個臨時持續時間,所以不能在方法,構造函數或聲明它的塊之外使用。
方法的形式參數被視為局部變數。 當調用方法時,在方法的正文執行之前,它們用實際的參數值初始化。
使用局部變數需要遵守以下規則 -
- 默認情況下不會初始化局部變數。
- 在程式向局部變數分配值之前,不能在程式中訪問局部變數。
- 局部變數可以在方法體中的任何地方聲明。 但是,它必須在使用之前聲明。
- 當類變數或實例變數和局部的名稱相同時,局部變數隱藏(覆蓋)實例變數和類變數。
以下是一個簡單的示例:
public class Main {
public static int sum(int a , int b){
int sum = 0; // 局部變數
sum = a + b;
return sum; // 返回後,sum變數被回收銷毀
}
public static void main(String[] args) {
int a = 100;
int b = 200;
int sum = 0;
sum = sum(a, b);
out.println("The sum of a and b is: " + sum);
}
}