第五章 static關鍵字

Mr-Wanter發表於2018-07-13

static關鍵字修飾屬性(類變數):
1、由類建立的所有物件都公用這一個屬性
2、當其中一個物件對此屬性進行修改的時候,會導致其他物件的此屬性的內容呼叫隨之更改
3、類變數是隨著類的載入而載入的,而且獨一份,存在記憶體的靜態域中,要早於例項變數建立
4、因為類載入的時候類變數就載入了,所以可以通過“類.屬性”進行呼叫;
而例項變數需要通過new才會在記憶體中建立出來,所以呼叫需要通過“物件.屬性”進行呼叫

                                          類變數的記憶體結構,其中nation為static修飾的類變數

static關鍵字修飾方法(類方法):
1、隨著類的載入而載入,記憶體中獨一份
2、可直接通過“類.方法名”呼叫
3、內部可以呼叫靜態的屬性或靜態方法,不能呼叫非靜態屬性和方法。非靜態方法可以呼叫靜態屬性和方法。這與類的載入生命週期建立前後順序有關。非靜態方法必須new才會在記憶體建立,而靜態的方法會隨著類的載入就建立出來。
4、靜態的結構(static屬性、方法、程式碼塊、內部類)的生命週期要早於非靜態結構,同時被回收也要晚於非靜態結構。

相關文章