在Java中,變量的作用域是指變量在代碼中的可見性和生命周期。Java提供了四種不同的變量作用域,分別是:
局部變量(Local Variables): 局部變量是在方法、構造函數或代碼塊中聲明的變量。它們的作用域僅限于聲明它們的代碼塊。當代碼塊執行完畢后,局部變量就會被銷毀。
類變量(Class Variables): 類變量是在類中聲明的變量,但在方法、構造函數或代碼塊之外。它們的作用域是整個類。所有實例共享同一個類變量。當類被加載時,類變量就會被初始化。
實例變量(Instance Variables): 實例變量是在類的實例中聲明的變量。每個實例都有自己的實例變量副本。它們的作用域是類的所有實例。當創建類的實例時,實例變量會被初始化。
靜態變量(Static Variables): 靜態變量是在類中聲明的變量,使用static關鍵字修飾。它們的作用域是整個類。所有實例共享同一個靜態變量。當類被加載時,靜態變量就會被初始化。靜態變量在類被卸載時才會被銷毀。
以下是一個簡單的示例,展示了如何根據不同的作用域聲明變量:
public class VariableScopeExample {
// 類變量
static int classVariable = 10;
// 實例變量
int instanceVariable = 20;
// 方法中的局部變量
void displayVariables() {
// 局部變量
int localVariable = 30;
System.out.println("Class variable: " + classVariable);
System.out.println("Instance variable: " + instanceVariable);
System.out.println("Local variable: " + localVariable);
}
public static void main(String[] args) {
VariableScopeExample example = new VariableScopeExample();
example.displayVariables();
}
}
在這個示例中,我們聲明了一個類變量、一個實例變量和一個局部變量。它們的作用域分別限制在類、實例和方法中。