類的非靜態(tài)成員屬于什么所有 c#中靜態(tài)字段與非靜態(tài)字段有什么區(qū)別?
c#中靜態(tài)字段與非靜態(tài)字段有什么區(qū)別?C#中的靜態(tài)場和非靜態(tài)場通過靜態(tài)識別來區(qū)分。主要區(qū)別在于靜態(tài)字段可以通過類名和字段名直接使用,而非靜態(tài)字段只能通過創(chuàng)建類實(shí)例使用。示例如下:類程序{static
c#中靜態(tài)字段與非靜態(tài)字段有什么區(qū)別?
C#中的靜態(tài)場和非靜態(tài)場通過靜態(tài)識別來區(qū)分。主要區(qū)別在于靜態(tài)字段可以通過類名和字段名直接使用,而非靜態(tài)字段只能通過創(chuàng)建類實(shí)例使用。示例如下:類程序{static void main(string[]args){控制臺寫入線(測試v1)控制臺寫入線((new test()).v2)}類測試{public static string V1{get{return“V1”}公共字符串v2{get{return“v2”}此外,靜態(tài)字段在加載程序集時分配內(nèi)存空間,而非靜態(tài)字段在初始化實(shí)例時分配內(nèi)存空間。
靜態(tài)類和非靜態(tài)類的區(qū)別?
靜態(tài)類和非靜態(tài)類的主要區(qū)別:主要區(qū)別是靜態(tài)類不能實(shí)例化,靜態(tài)類編譯器可以檢查實(shí)例成員是否意外添加,C#編譯器會自動將其標(biāo)記為sealed,靜態(tài)類中不能創(chuàng)建非靜態(tài)方法,即,在靜態(tài)方法中只能創(chuàng)建靜態(tài)方法,但在非靜態(tài)類中可以調(diào)用靜態(tài)方法。靜態(tài)類的主要功能:
1:只包含靜態(tài)成員。
2:無法實(shí)例化。
3:它是密封的。
4:不能包含實(shí)例構(gòu)造函數(shù)。
5:非靜態(tài)類可以包含靜態(tài)方法、字段、屬性或事件;
6:靜態(tài)方法和屬性不能訪問其包含類型中的非靜態(tài)字段和事件。7:靜態(tài)方法只能重載,但不能重寫,因?yàn)殪o態(tài)方法不屬于類的實(shí)例成員。8:C#不支持靜態(tài)局部變量(靜態(tài)變量在方法中定義)。非靜態(tài)類在使用時必須實(shí)例化,并且每次使用時都必須實(shí)例化。一般來說,諸如logclass、configclass等靜態(tài)類可以用于經(jīng)常使用的類。