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