- 類變數/靜態(static)變數/靜態屬性
特點:
由該類的全體物件例項共享,該變數只佔同一塊記憶體空間。
其標誌是關鍵字static修飾。
在類載入的時候便生成了。類載入的時機如下圖:
public static int count = 0;
類變數可以由類名來訪問。
System.out.println("共有" + Child.count + "個小孩加入了遊戲");
有關類變數的記憶體佈局:
JDK8以前:在方法區中
JDK8以後:在堆裡該類對應的class物件的最後
具體圖如下:
定義類變數:
訪問類變數:
可用類名、物件名,推薦用類名。
原因:類變數是隨著類的載入而建立的,所以沒有例項也可以訪問。
靜態變數的訪問修飾符的訪問許可權和範圍 和 普通屬性是一樣的。
使用細節:
2. 類方法
定義類方法:
呼叫類方法:類似類變數。
類方法應用場景:
方法中不涉及任何物件相關的成員時,如開發自己的工具類中的方法,氣泡排序、列印陣列等。
例如 Math.sqrt(9);
類方法其他注意細節:
如上,靜態方法中不可以用this,super關鍵字。
非靜態方法不可以透過類名呼叫。
類方法中只能訪問 靜態變數 或 靜態方法。
普通方法可以隨便訪問成員。