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