大家都知道肢执,我們可以基于一個(gè)類創(chuàng)建多個(gè)該類的對(duì)象,每個(gè)對(duì)象都擁有自己的成員惰匙,互相獨(dú)立技掏。然而在某些時(shí)候,我們更希望該類所有的對(duì)象共享同一個(gè)成員项鬼。此時(shí)就是?static 大顯身手的時(shí)候了Q剖帷!
Java 中被 static 修飾的成員稱為靜態(tài)成員或類成員秃臣。它屬于整個(gè)類所有涧衙,而不是某個(gè)對(duì)象所有,即被類的所有對(duì)象所共享奥此。靜態(tài)成員可以使用類名直接訪問(wèn)弧哎,也可以使用對(duì)象名進(jìn)行訪問(wèn)。當(dāng)然稚虎,鑒于他作用的特殊性更推薦用類名訪問(wèn)~~
使用 static 可以修飾變量撤嫩、方法和代碼塊。
本小節(jié)蠢终,我們先認(rèn)識(shí)一下靜態(tài)變量序攘。
例如,我們?cè)陬愔卸x了一個(gè) 靜態(tài)變量 hobby 寻拂,操作代碼如下所示:
要注意:靜態(tài)成員屬于整個(gè)類程奠,當(dāng)系統(tǒng)第一次使用該類時(shí),就會(huì)為其分配內(nèi)存空間直到該類被卸載才會(huì)進(jìn)行資源回收祭钉!
public class HelloWorld {
???
??? // 定義靜態(tài)變量瞄沙,保存班級(jí)名稱
????? static? String className = "JAVA開(kāi)發(fā)一班";
?public static void main(String[] args) {
???????
??// 訪問(wèn)靜態(tài)變量,輸出班級(jí)名稱
??System.out.println(HelloWorld.className);
?}
}