java中的static關鍵字

2021-07-03 19:35:36 字數 566 閱讀 7857

1.使用static關鍵字的原因,通常來說,當建立類時,就是在描述那個類的物件的外觀與行為。除非用new建立那個類的物件,否則,實際上並未獲得任何物件。執行new來建立物件時,資料儲存空間才被分配,期方法才供外界呼叫。

有兩種情形用上述方法是無法解決的。

一種情形是,只想為某特定域分配單一儲存空間,而不去考慮究竟建立多少物件,甚至根本就不建立任何物件。

另一種情形是,希望某個方法不與包含它的類的任何物件關聯在一起。

通過static關鍵字就可以滿足這兩方面的需要。當宣告乙個事物是static時,就意味著這個域或方法不會與包含它的類的任何物件關聯在一起。所以,即使從未建立某個類的任何物件,也可以呼叫其static方法或訪問其static域。

當然,由於在用static方法前不需要建立任何物件,所以對於static方法,不能簡單的通過呼叫其他非static域或方法而沒有指定某個命名物件,來直接訪問非static域或方法(因為非static域或方法必須與某一特定物件關聯)

當引用乙個static欄位時,可以直接使用類名.欄位名,或者使用new物件的引用.欄位名,但是盡量使用第一種方式。有利於編譯器的優化和強調static結構

Java中static關鍵字

靜態結構的生命週期要早於非靜態結構,同時 也要晚於非靜態結構 執行結果 變數變數值 c2.nation null c2.nation china public void test2 執行結果 輸出china 內容與靜態屬性大體相同 1.靜態方法內只能呼叫本類靜態屬性或靜態方法 2.靜態方法裡面是不能...

java中static關鍵字

一 可修飾成員變數和方法 靜態函式要注意的事項 1.靜態函式可呼叫類名或物件呼叫,而非靜態函式只能使用物件呼叫。2.靜態函式可直接訪問靜態成員,但不能訪問非靜態成員。原因 靜態函式可通過類名直接呼叫,這時可能還未存在非靜態成員,因為其是根據物件生成的。二 執行順序 靜態 塊的執行順序優先於非靜態 塊...

java中static關鍵字

static 方便在沒有建立物件的情況來呼叫 可以用來修飾類的成員方法 成員變數,塊 內部靜態類 靜態匯入包 1 靜態變數 被static修飾的變數叫靜態變數 或類變數 否則為例項變數,靜態變數類載入時分配一次記憶體,可以直接類名訪問 例項變數建立物件時被初始化,存在多個副本,互不影響。2 靜態方法...