一雄可、 靜態(tài)變量
- 大家都知道凿傅,我們可以基于一個類創(chuàng)建多個該類的對象,每個對象都擁有自己的成員数苫,互相獨立聪舒。然而在某些時候,我們更希望該類所有的對象共享同一個成員虐急。此時就是 static 大顯身手的時候了9怠!
- Java 中被 static 修飾的成員稱為靜態(tài)成員或類成員戏仓。它屬于整個類所有疚宇,而不是某個對象所有,即被類的所有對象所共享赏殃。
靜態(tài)成員可以使用類名直接訪問敷待,也可以使用對象名進行訪問。當然仁热,鑒于他作用的特殊性更推薦用類名訪問~~
- 使用 static 可以修飾變量榜揖、方法和代碼塊。
例如抗蠢,我們在類中定義了一個 靜態(tài)變量 hobby 举哟,操作代碼如下所示:
Paste_Image.png
運行結果:
Paste_Image.png
- 要注意:靜態(tài)成員屬于整個類,當系統(tǒng)第一次使用該類時迅矛,就會為其分配內存空間直到該類被卸載才會進行資源回收妨猩!~~
二、靜態(tài)方法
- 與靜態(tài)變量一樣秽褒,我們也可以使用 static 修飾方法壶硅,稱為靜態(tài)方法或類方法。其實之前我們一直寫的 main 方法就是靜態(tài)方法销斟。靜態(tài)方法的使用如:
Paste_Image.png
運行結果:
Paste_Image.png
需要注意:
1庐椒、 靜態(tài)方法中可以直接調用同類中的靜態(tài)成員,但不能直接調用非靜態(tài)成員蚂踊。如:
Paste_Image.png
如果希望在靜態(tài)方法中調用非靜態(tài)變量约谈,可以通過創(chuàng)建類的對象,然后通過對象來訪問非靜態(tài)變量犁钟。如:
Paste_Image.png
2棱诱、 在普通成員方法中,則可以直接訪問同類的非靜態(tài)變量和靜態(tài)變量特纤,如下所示:
Paste_Image.png
3军俊、** 靜態(tài)方法中不能直接調用非靜態(tài)方法,需要通過對象來訪問非靜態(tài)方法捧存。**如:
Paste_Image.png
這個靜態(tài)關鍵字對于初學者實用的時候很困惑粪躬,完全不明白為啥有的地方需要new一個對象去調用,有的地方卻能直接用昔穴;看過這個豁然開朗了镰官;
@晴 --2017年03月01日13:34:38