Java static靜態變數 靜態方法

2021-07-05 15:33:28 字數 1139 閱讀 6273

1.static關鍵字作用

static關鍵字修飾類成員變數、成員方法、內部類可以使這些類成員的建立和使用,直接與類相關而與具體例項無關。

2.靜態變數(類變數)

只在系統載入類時分配空間及初始化,建立該類例項時不再分配空間,為所有例項提供共享類的靜態變數。(可進行例項間的通訊或者統計跟蹤是該類例項的數目)。

只依附於類,與例項物件無關,對於不是private類的靜態變數,可以直接用類名呼叫。

3. 靜態方法(類方法)

1> 通過類名訪問而不是例項物件訪問,so 靜態方法中沒有this指標,不能訪問該類非靜態變數、方法,只能訪問自己方法體內區域性變數、自己的引數和靜態變數。

2> 子類不能重寫父類的靜態方法,但可以宣告與父類靜態方法相同的方法,以隱藏父類的該靜態方法。子類不能把父類非靜態變為靜態,編譯錯誤。

3> main()方法是靜態方法。jvm不建立例項就可以執行該方法。因此,main()中訪問變數、方法,就要建立例項物件。

4. 靜態**塊

類變數初始化,載入該類時只執行一次,優先順序最高,先於構造方法執行。

靜態**塊》mian方法(靜態方法)>構造**塊》構造方法

class code

static

public

code()

}public

class codeblock03

static

public

codeblock03()

public

static

void

main(string args)

}// 輸出結果

/*codeblock03的靜態**塊

codeblock03的主方法

code的靜態**塊

code的構造塊

code的構造方法

code的構造塊

code的構造方法

codeblock03的構造塊

codeblock03的構造方法

codeblock03的構造塊

codeblock03的構造方法

*/

java static靜態變數

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

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...