java static靜態變數

2021-08-31 11:05:27 字數 716 閱讀 1828

共享靜態變數儲存空間

我們知道類中的靜態變數(static variable)在程式執行期間,其記憶體空間對所有該類的物件例項而言是共享的,因此在某些時候為了節省系統記憶體開銷、共享資源,將類中的一些變數宣告為靜態變數,通過下面的例子,你可以發現合理應用靜態變數帶來的好處:

public class weekb

}static data weeks = ;

public static void main(string args)

}}

請注意在類weekb中,在data weeks之前新增了static關鍵字,將該物件變數宣告為靜態的,因此當你建立200 000個weekb物件時系統中只儲存著該物件的乙份拷貝,而且該類的所有物件例項共享這份拷貝,這無疑節約了大量的不必要的記憶體開銷,同時實現了要完成的系統功能。

那麼是不是我們應該盡量地多使用靜態變數呢?其實不是這樣的,因為靜態變數生命週期較長,而且不易被系統**,因此如果不能合理地使用靜態變數,就會適得其反,造成大量的記憶體浪費,所謂過猶不及。因此,建議在具備下列全部條件的情況下,盡量使用靜態變數:

(1)變數所包含的物件體積較大,占用記憶體較多。

(2)變數所包含的物件生命週期較長。

(3)變數所包含的物件資料穩定。

(4)該類的物件例項有對該變數所包含的物件的共享需求。

如果變數不具備上述特點建議你不要輕易地使用靜態變數,以免弄巧成拙。

Java static靜態變數 靜態方法

1.static關鍵字作用 static關鍵字修飾類成員變數 成員方法 內部類可以使這些類成員的建立和使用,直接與類相關而與具體例項無關。2.靜態變數 類變數 只在系統載入類時分配空間及初始化,建立該類例項時不再分配空間,為所有例項提供共享類的靜態變數。可進行例項間的通訊或者統計跟蹤是該類例項的數目...

Java static靜態方法 靜態變數

1.它為該類的公用變數,屬於類,被該類的所有例項共享,在類被載入時被顯式初始化,2.對於該類的所有物件來說,static成員變數只有乙份。被該類的所有物件共享!3.可以使用 物件.類屬性 來呼叫。不過,一般都是用 類名.類屬性 4.用static宣告的方法為靜態方法 5.不需要物件,就可以呼叫 類名...

靜態變數和非靜態變數

class string1 a和b編譯報錯,can not make a static referrence to no static filed s3,s4 分析 string s1 pingguo string s2 xiangjiao string s3 new string lizi str...