當使用static關鍵字定義成員變量時,該變量將成為靜態變量或類變量。靜態變量與類相關聯而不是與類的每個對象實例相關聯。這意味著,只要類被加載,靜態變量就會被初始化,且只會初始化一次,而且可以被所有該類的對象實例所共享。
以下是使用static關鍵字定義靜態變量的示例:
public class MyClass {
static int count = 0;
String name;
public MyClass(String name) {
this.name = name;
count++;
}
}
在上面的示例中,count變量是一個靜態變量,用于計算MyClass類的實例數量。每次創建MyClass類的新實例時,都會自增count變量的值。因為count變量是靜態變量,所以它在所有MyClass類的實例中都是相同的。
以下是如何訪問靜態變量的示例:
MyClass obj1 = new MyClass("Object 1");
MyClass obj2 = new MyClass("Object 2");
System.out.println(MyClass.count); // 輸出:2
在上面的示例中,我們創建了兩個MyClass類的實例,然后使用類名訪問count變量。因為count變量是靜態變量,所以我們可以使用類名來訪問它,而不需要創建類的對象實例。輸出結果是2,因為我們創建了兩個MyClass類的實例。