static 修飾類別或成員時,表示屬於類別本身,而非某個具體實例。靜態成員在記憶體中僅存在一份,存放於靜態儲存區,程式啟動時配置,結束時釋放。
類別名.成員 存取類別名.靜態成員 或 實例.靜態成員(不推薦)
public class ClassA {
public static void Fun() { Console.WriteLine("Static Fun"); }
}
public class ClassB {
public void Test() { ClassA.Fun(); } // 無需 new ClassA()
}
public static class ClassA {
public static void Fun() { Console.WriteLine("Static Class Fun"); }
}
public class ClassB {
public void Test() { ClassA.Fun(); }
}


| 區域 | 存放內容 |
|---|---|
| 堆疊 | 實質類型區域變數 |
| 堆積 | 參考類型物件、陣列 |
| 靜態儲存區 | 靜態變數、全域變數、常數 |
靜態變數在靜態儲存區,全程共用。例:銀行帳戶餘額為靜態變數,ATM、櫃台、網銀操作同一餘額。
staticInterlocked/Concurrent 類別