Java 中被 static 修飾的成員稱爲靜態成員或類成員。它屬於整個類所有,而不是某個對象所有,即被類的所有對象所共享。靜態成員可以使用類名直接訪問,也可以使用對象名進行訪問。被static修飾的成員變量和成員方法獨立於該類的任何對象。也就是說,它不依賴類特定的實例,被類的所有實例共享。
當然,鑑於他作用的特殊性更推薦用類名訪問~~
使用 static 可以修飾變量、方法和代碼塊。
例如,我們在類中定義了一個 靜態變量 hobby ,操作代碼如下所示:
要注意哦:靜態成員屬於整個類,當系統第一次使用該類時,就會爲其分配內存空間直到該類被卸載纔會進行資源回收!~~
與靜態變量一樣,我們也可以使用 static 修飾方法,稱爲靜態方法或類方法。其實之前我們一直寫的 main 方法就是靜態方法。靜態方法的使用如:
需要注意:
1、 靜態方法中可以直接調用同類中的靜態成員,但不能直接調用非靜態成員。如:
如果希望在靜態方法中調用非靜態變量,可以通過創建類的對象,然後通過對象來訪問非靜態變量。如:
2、 在普通成員方法中,則可以直接訪問同類的非靜態變量和靜態變量,如下所示:
3、 靜態方法中不能直接調用非靜態方法,需要通過對象來訪問非靜態方法。如: