static修飾詞可以用於類別、欄位、方法、屬性、運算子、事件及建構函式 (Constructor),但是不能用於索引子 (Indexer)、解構函式 (Destructor) 或類別以外的型別。
通常一個程序執行完畢,所含區域變數的值就會消失,當下一次執行該程序時,它的所有區域變數將重新初始化。宣告成靜態static,便可以保留變數的值。
雖然可以使用其他未宣告的靜態欄位來初始化其他靜態欄位,但是在明確指派值給該靜態欄位之前,結果都會是未定義狀態,如下:
class Test { static int x = y; static int y = 1; static void Start() { Debug.Log(Test.x); Debug.Log(Test.y); Test.x = 2; Debug.Log(Test.x); } }
輸出得到
1
2