/*
* static屬性i是屬於類本身的,或者講沒有物件我們可以直接用類名呼叫
* 這個程式的結果是20,20.因為static是乙個靜態的,所有的物件共用這個乙個
* 另外,在main函式裡又把i的值改變了,最終大家共用20
* 若果再寫個aa2.i=30.則最終結果會為30.以最後的i為準,前面的都會被覆蓋*/
public class a
}class tttttt
}
二。
/*
2023年5月29日15:14:29
本程式證明了:
只有非private的static成員才可以通過類名的方式訪問
static只是表明了該成員具有了可以通過類名訪問的潛在特徵
但是否可以通過類名訪問,還必須滿足乙個條件: 該成員必須是非private
*/public class a
}class tttttt
}
三。
/*
2023年5月29日15:14:29
本程式證明了:
靜態方法不能訪問非靜態成員
非靜態方法可以訪問靜態成員
*/class a
public void g()
}class tttttt
}
關於static的使用
用static宣告區域性變數 區域性變數指在 塊 內部定義的變數,只在 塊內部有效 作用域 其預設的儲存方式是自動變數或說是動態儲存的,即指令執行到變數定義處時才給變數分配儲存單元,跳出 塊時釋放記憶體單元 生命期 用static宣告區域性變數時,則改變變數的儲存方式 生命期 使變數成為靜態的區域性...
關於static的使用
首先,對於區域性變數來說,任何乙個在函式內部定義的變數 包括main 都屬於這個範疇。在執行時,編譯器不會對區域性變數進行初始化,也就是說區域性變數的初始值是隨機的,除非對其進行顯式賦值。區域性變數被儲存在程式的棧空間內,使用完畢後會立即釋放 但是對於靜態區域性變數來說,有了static的修飾之後,...
關於類static成員的使用
成員函式 靜態 非靜態 使用靜態成員變數 非靜態成員函式使用靜態成員變數 class statictest static void func1 private static int staticvar int var 靜態成員函式使用靜態成員變數 class statictest static vo...