亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 學院 > 開發設計 > 正文

C#基礎知識系列六(靜態類和靜態類成員)

2019-11-17 03:24:21
字體:
來源:轉載
供稿:網友

C#基礎知識系列六(靜態類和靜態類成員)

靜態類

  靜態類與非靜態類基本相同,但存在一個區別:靜態類不能實例化。 也就是說,不能使用 new 關鍵字創建靜態類類型的變量。 因為沒有實例變量,所以要使用類名本身訪問靜態類的成員。 例如,如果名為 UtilityClass 的靜態類有一個名為 MethodA 的公共方法,則按下面的示例所示調用該方法:

    public class UtilityClass    {        public static void MethodA()        {             ////        }    }    class TestCounter    {        static void Main()        {            UtilityClass.MethodA();            Console.ReadKey();        }    }

對于只對輸入參數進行運算而不獲取或設置任何內部實例字段的方法集,靜態類可以方便地用作這些方法集的容器。 例如,在 .NET Framework 類庫中,靜態類 System.Math 包含的方法只執行數學運算,而無需存儲或檢索特定 Math 類實例特有的數據。 就是說,通過指定類名稱和方法名稱來應用類成員,如下示例所述。

double dub = -3.14;Console.WriteLine(Math.Abs(dub));Console.WriteLine(Math.Floor(dub));Console.WriteLine(Math.Round(Math.Abs(dub)));// Output:// 3.14// -4// 3

和所有類類型一樣,當加載引用靜態類的程序時,.NET Framework 公共語言運行時 (CLR) 將加載該靜態類的類型信息。程序不能指定加載靜態類的確切時間。但是,可以保證在程序中首次引用該類前加載該類,并初始化該類的字段并調用其靜態構造函數。靜態構造函數僅調用一次,在程序駐留的應用程序域的生存期內,靜態類一直保留在內存中。

若要創建僅允許創建一個自身實例的非靜態類,請參見C# 中的單例模式http://www.49028c.com/aehyok/archive/2013/05/08/3066127.html)。

靜態類的主要特性:1:僅包含靜態成員。2:無法實例化。3:是密封的。4:不能包含實例構造函數。

  因此,創建靜態類與創建僅包含靜態成員和私有構造函數的類基本相同。私有構造函數阻止類被實例化。使用靜態類的優點在于,編譯器能夠執行檢查以確保不致偶然地添加實例成員。編譯器將保證不會創建此類的實例。

  靜態類是密封的,因此不可被繼承。 它們不能從除 Object 外的任何類中繼承。 靜態類不能包含實例構造函數,但可以包含靜態構造函數。 如果非靜態類包含需要進行重要的初始化的靜態成員,也應定義靜態構造函數。

靜態類成員

  非靜態類可以包含靜態的方法、字段、屬性或事件。即使沒有創建類的實例,也可以調用該類中的靜態成員。始終通過類名而不是實例名稱訪問靜態成員。無論對一個類創建多少個實例,它的靜態成員都只有一個副本。靜態方法和屬性不能訪問其包含類型中的非靜態字段和事件,并且不能訪問任何對象的實例變量(除非在方法參數中顯式傳遞)。

  更常見的做法是聲明具有一些靜態成員的非靜態類,而不是將整個類聲明為靜態類。靜態字段有兩個常見的用法:一是記錄已實例化對象的個數,二是存儲必須在所有實例之間共享的值。

  靜態方法可以被重載但不能被重寫,因為它們屬于類,不屬于類的任何實例。

  雖然字段不能聲明為 static const,但 const 字段的行為在本質上是靜態的。 這樣的字段屬于類型,不屬于類型的實例。 因此,可以同對待靜態字段一樣使用 ClassName.MemberName表示法來訪問 const 字段。 不需要對象實例。

  C# 不支持靜態局部變量(在方法范圍內聲明的變量)。

通過在成員的返回類型之前使用static關鍵字可以聲明靜態類成員,如下面的示例所示:

public class Automobile{    public static int NumberOfWheels = 4;    public static int SizeOfGasTank    {        get        {            return 15;        }    }    public static void Drive() { }    public static event EventType RunOutOfGas;}

靜態成員在第一次被訪問之前并且在調用靜態構造函數(如有存在)之前進行初始化。若要訪問靜態類成員,應使用類名而不是變量名來指定該成員的位置,如下面的示例所示:

Automobile.Drive();int i = Automobile.NumberOfWheels;

如果類包含靜態字段,請提供在加載類時初始化這些字段的靜態構造函數。

對靜態方法的調用以 Microsoft 中間語言 (MSIL) 生成調用指令,而對實例方法的調用生成callvirt指令,該指令還檢查 null 對象引用。但是,兩者之間的性能差異在大多數時候并不明顯。

1:靜態類在內存中是一直有位置的;2:非靜態類在實例化后是在內存中是獨立的,它的變量不會重復,在使用后會及時銷毀,所以不會出現未知的錯誤。在C#中靜態成員是比較敏感的東西,在不是十分確認的情況下不要使用;3:建議更多地使用一般類(非靜態類)。

4:當定義的類不需要進行實例化時,我們使用靜態類;如果需要實例化對象,需要繼承等特性時,應該使用非靜態類,并且將統一使用的變量和方法設為靜態的,那么所有實例對象都能訪問。


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
亚洲人成伊人成综合网久久久| 91av免费观看91av精品在线| 中文在线不卡视频| 欧美另类在线观看| 国产成人午夜视频网址| 狠狠久久五月精品中文字幕| 亚洲人成在线观看| 亚洲电影免费观看高清完整版| 全亚洲最色的网站在线观看| 亚洲欧洲中文天堂| 中文字幕视频在线免费欧美日韩综合在线看| 久久精品久久久久久| 国产va免费精品高清在线观看| 精品国内产的精品视频在线观看| 亚洲精品免费av| 性亚洲最疯狂xxxx高清| 91国产美女在线观看| 欧美激情a在线| 国产精品亚洲视频在线观看| 日本一欧美一欧美一亚洲视频| 亚洲天堂av图片| 色综合天天综合网国产成人网| 欧美日韩加勒比精品一区| 精品久久久久久久久久ntr影视| 91精品国产综合久久久久久久久| 日韩美女在线观看一区| 欧美三级欧美成人高清www| 久久久久久久亚洲精品| 亚洲国产成人久久综合一区| 亚洲人午夜精品免费| 亚洲国产成人在线播放| 欧美国产第一页| 最新国产成人av网站网址麻豆| 国产精品综合网站| 全球成人中文在线| 92国产精品视频| 九九精品在线视频| 日本韩国欧美精品大片卡二| 国产成人精品在线| 亚洲大尺度美女在线| 成人激情综合网| 亚洲精品国产精品国自产在线| 超薄丝袜一区二区| 国产亚洲精品成人av久久ww| 国产精品一区二区性色av| 久久久久久久久亚洲| 欧美视频一区二区三区…| 中文字幕国产亚洲| 国产综合香蕉五月婷在线| 欧美夫妻性生活xx| 日韩在线视频二区| 久久伊人精品天天| 国产免费亚洲高清| 国产成人免费91av在线| 岛国av一区二区三区| 91视频88av| 亚洲欧美成人在线| 岛国视频午夜一区免费在线观看| 亚洲2020天天堂在线观看| 日韩在线免费观看视频| 亚洲性视频网站| 国产精品久久久久77777| 亚洲精品v欧美精品v日韩精品| 欧美黑人国产人伦爽爽爽| 国产欧美日韩中文字幕在线| 亚洲精品一区二区三区不| 久久久久国产精品免费| 97婷婷大伊香蕉精品视频| 国产免费久久av| 欧美怡春院一区二区三区| 91在线观看欧美日韩| 国产精品久久久久久一区二区| 成人午夜激情免费视频| 国产中文欧美精品| 欧美性xxxxxxxxx| 欧美第一淫aaasss性| 国产专区精品视频| 怡红院精品视频| 国产视频精品一区二区三区| 成人免费网视频| 欧洲亚洲妇女av| 亚洲成年人影院在线| 日本精品一区二区三区在线| 国产日韩欧美夫妻视频在线观看| 91欧美精品午夜性色福利在线| 国产精品久久久久aaaa九色| 91国内在线视频| 国产香蕉一区二区三区在线视频| 日韩中文字幕不卡视频| 在线播放国产一区中文字幕剧情欧美| 成人亚洲欧美一区二区三区| 久久久久久久久久久成人| 久久成人一区二区| www.xxxx精品| 98精品国产高清在线xxxx天堂| 91久久精品国产91性色| 国产区亚洲区欧美区| 国产欧美精品日韩| 最新国产精品拍自在线播放| 亚洲在线www| 亚洲免费一在线| 日韩中文字幕免费看| 亚洲精品国产免费| 91手机视频在线观看| 日韩在线观看免费全集电视剧网站| 一区二区三区无码高清视频| 国产精品扒开腿做爽爽爽视频| 日韩欧美第一页| 亚洲国产日韩欧美在线图片| 亚洲xxxx妇黄裸体| 亚洲国产又黄又爽女人高潮的| 久久精品久久久久| 国产91|九色| 久久激情视频免费观看| 九九精品视频在线| 日韩毛片在线观看| 欧美精品18videos性欧美| 日韩在线播放av| 欧美午夜xxx| 国产成人aa精品一区在线播放| 亚洲欧美综合v| 日本韩国在线不卡| 日韩视频第一页| 国产在线视频一区| 亚洲视屏在线播放| 日韩在线观看av| 亚洲色图第一页| 国产精品视频区1| 欧美国产日产韩国视频| 91情侣偷在线精品国产| 国产精品自产拍在线观看| 欧美亚洲国产日韩2020| 日韩一区二区三区在线播放| 亚洲一区二区三区xxx视频| 欧美激情国产精品| 亚洲人成电影网站色…| 亚洲一区二区三区xxx视频| 美女999久久久精品视频| 亚洲天堂男人天堂女人天堂| 亚洲国产精品va在线看黑人动漫| 日韩免费高清在线观看| 在线播放国产一区中文字幕剧情欧美| 日韩成人黄色av| 欧美另类交人妖| 亚洲国产高清福利视频| 欧美福利视频在线观看| 91九色视频在线| 欧美黄网免费在线观看| 日韩精品在线播放| 欧美电影在线免费观看网站| 4k岛国日韩精品**专区| 欧美福利视频在线观看| 欧美在线观看网站| 欧美激情久久久| 日本91av在线播放| 亚洲国产日韩欧美在线图片| 色av中文字幕一区| 欧美电影免费观看| 亚洲成人久久久久| 亚洲人成绝费网站色www| 欧美小视频在线观看| 国产精品福利久久久| 欧美在线免费看| 激情久久av一区av二区av三区|