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