類中的方法定義物件的行為。方法是一個命名的程式碼塊。呼叫方法的程式碼是方法的呼叫者。
可選地,方法可以接受來自呼叫者的輸入值,並且它可以向呼叫者返回值。
輸入值的列表稱為引數。 方法可以具有零引數。 如果一個方法有零個引數,我們說該方法沒有任何引數或方法不使用引數。
方法總是在類的主體內定義。方法宣告的一般語法是形式 -
<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);
}
}