static關鍵字
特點:1.static是乙個修飾符,用於修飾成員變數、成員方法。static修飾的成員變數稱之為靜態變數或類變數。
2.static修飾的成員變數被所有的物件共享。
3.static優先於物件存在,因為static的成員隨著類的載入就已經存在。
4.static修飾的成員多了一種呼叫方式,可以直接被類名所呼叫。 類名.靜態成員
5static修飾的資料是共享資料,物件中的儲存的是特有的資料。
private static int age;//用static修飾的成員變數靜態變數或者叫做類變數
private string name; //成員變數
public static void show()
public void showdemo()
成員變數和靜態變數的區別:
1.生命週期不同
成員變數隨著物件的建立而建立,隨物件的收回而收回。
靜態變數隨著類的載入而存在,隨類的消失而消失。
2.呼叫方法不同
成員變數只能被物件呼叫。
靜態變數可以被物件呼叫,也可以用類名呼叫。(推薦用類名呼叫)
3.別名不同
成員變數也稱為例項變數。
靜態變數稱為類變數。
4.資料儲存位置不同
成員變數資料儲存在堆記憶體的物件中,所以也叫物件的特有資料。
靜態變數資料儲存在方法區(共享資料區)的靜態區,所以也叫物件的共享資料。
public class demo
public void showdemo()
public static void main(string args)
}什麼時候使用static來修飾
1.靜態變數:
當分析物件中所具備的成員變數的值都是相同的,這是這個成員變數可以被靜態修飾
只要資料在物件中都是不同的,就是物件的特有資料,碧璽儲存在資料中,是非靜態的。
如果是相同的資料,物件不需要進行修改,只需要使用即可,不需要儲存在物件中,是靜態的。
2.靜態函式:
函式是否用靜態修飾,就參考一點,該函式功能是否又訪問到物件中特有的資料。
從原始碼看,該功能是否需要訪問非靜態的成員變數,若需要,該功能就是靜態的。
Java中static關鍵字
靜態結構的生命週期要早於非靜態結構,同時 也要晚於非靜態結構 執行結果 變數變數值 c2.nation null c2.nation china public void test2 執行結果 輸出china 內容與靜態屬性大體相同 1.靜態方法內只能呼叫本類靜態屬性或靜態方法 2.靜態方法裡面是不能...
java中static關鍵字
一 可修飾成員變數和方法 靜態函式要注意的事項 1.靜態函式可呼叫類名或物件呼叫,而非靜態函式只能使用物件呼叫。2.靜態函式可直接訪問靜態成員,但不能訪問非靜態成員。原因 靜態函式可通過類名直接呼叫,這時可能還未存在非靜態成員,因為其是根據物件生成的。二 執行順序 靜態 塊的執行順序優先於非靜態 塊...
java中static關鍵字
static 方便在沒有建立物件的情況來呼叫 可以用來修飾類的成員方法 成員變數,塊 內部靜態類 靜態匯入包 1 靜態變數 被static修飾的變數叫靜態變數 或類變數 否則為例項變數,靜態變數類載入時分配一次記憶體,可以直接類名訪問 例項變數建立物件時被初始化,存在多個副本,互不影響。2 靜態方法...