|
靜態類是一種聲明為 static 類型的,且僅包含靜態成員的類。不能使用 new 關鍵字創建靜態類的實例。靜態類在加載包含該類的程序或命名空間時由 .NET Framework 公共語言運行庫 (CLR) 自動加載。 靜態類和類成員用于創建無需創建類的實例就能夠訪問的數據和函數。靜態類成員可用于分離獨立于任何對象標識的數據和行為:無論對象發生什么更改,這些數據和函數都不會隨之變化。當類中沒有依賴對象標識的數據或行為時,就可以使用靜態類。
靜態類的主要特點如下:
- 它們僅包含靜態成員。
- 它們不能被實例化。
- 它們是密封的。
- 它們不能包含實例構造函數。
因此創建靜態類與創建僅包含靜態成員和私有構造函數的類大致一樣。私有構造函數阻止類被實例化。
使用靜態類的優點在于:
- 寫在棧中,安全高速穩定,而且在執行的時候,十分優先。
- 編譯器能夠執行檢查以確保不致偶然地添加實例成員。
- 編譯器將保證不會創建此類的實利。
類是密封的,因此不可被繼承。靜態類不能包含構造函數,但仍可聲明靜態構造函數以分配初始值或設置某個靜態狀態。靜態方法屬于類所有,類實例化前即可使用。
靜態類和非靜態類的區別:
非靜態類是儲存有狀態的一類操作過程,例如語言包的非靜態類,聲明了之后,可能獲取語言的種類,語言元素和一些附加的東西。
靜態類可以視為類庫里都是單一的過程,不存在“狀態”的概念,就可以使用靜態類。
非靜態類可以包含靜態方法,但靜態類不能包含非靜態方法。
NET技術:.NET :靜態類的理解,轉載需保留來源!
鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。