Java_static(靜態(tài)關(guān)鍵字)的使用

一、 靜態(tài)變量

  • 大家都知道,我們可以基于一個類創(chuàng)建多個該類的對象,每個對象都擁有自己的成員,互相獨立。然而在某些時候,我們更希望該類所有的對象共享同一個成員。此時就是 static 大顯身手的時候了??!
  • Java 中被 static 修飾的成員稱為靜態(tài)成員或類成員。它屬于整個類所有,而不是某個對象所有,即被類的所有對象所共享。
  • 靜態(tài)成員可以使用類名直接訪問,也可以使用對象名進行訪問。當然,鑒于他作用的特殊性更推薦用類名訪問~~
  • 使用 static 可以修飾變量、方法和代碼塊。
    例如,我們在類中定義了一個 靜態(tài)變量 hobby ,操作代碼如下所示:
Paste_Image.png

運行結(jié)果:


Paste_Image.png
  • 要注意:靜態(tài)成員屬于整個類,當系統(tǒng)第一次使用該類時,就會為其分配內(nèi)存空間直到該類被卸載才會進行資源回收!~~

二、靜態(tài)方法

  • 與靜態(tài)變量一樣,我們也可以使用 static 修飾方法,稱為靜態(tài)方法或類方法。其實之前我們一直寫的 main 方法就是靜態(tài)方法。靜態(tài)方法的使用如:

Paste_Image.png

運行結(jié)果:
Paste_Image.png

需要注意:
1、 靜態(tài)方法中可以直接調(diào)用同類中的靜態(tài)成員,但不能直接調(diào)用非靜態(tài)成員。如:

Paste_Image.png

如果希望在靜態(tài)方法中調(diào)用非靜態(tài)變量,可以通過創(chuàng)建類的對象,然后通過對象來訪問非靜態(tài)變量。如:

Paste_Image.png

2、 在普通成員方法中,則可以直接訪問同類的非靜態(tài)變量和靜態(tài)變量,如下所示:

Paste_Image.png

3、** 靜態(tài)方法中不能直接調(diào)用非靜態(tài)方法,需要通過對象來訪問非靜態(tài)方法。**如:

Paste_Image.png

這個靜態(tài)關(guān)鍵字對于初學者實用的時候很困惑,完全不明白為啥有的地方需要new一個對象去調(diào)用,有的地方卻能直接用;看過這個豁然開朗了;
@晴 --2017年03月01日13:34:38

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容