靜態(tài)方法與靜態(tài)變量一樣,屬于類(lèi)本身,而不屬于哪個(gè)類(lèi)的一個(gè)對(duì)象。調(diào)用一個(gè)被定義為static的方法,只有通過(guò)在它前面加上這個(gè)類(lèi)的名稱(chēng)。一般定義里說(shuō)是可以通過(guò)實(shí)例調(diào)用的。其他語(yǔ)言我還沒(méi)測(cè)試,但是在C#中是不行的,只能通過(guò)類(lèi)型名稱(chēng)引用它(靜態(tài)變量也是哦)。
1 class Class1 2 { 3 public static string No { set; get; } 4 public string Second { set; get; } 5 6 public static void Wmt() 7 { 8 No = "我是靜態(tài)成員"; 9 }10 11 }12 13 class Class214 {15 public void Test()16 {17 Class1.Wmt();18 Class1.No = "我是靜態(tài)成員";19 var class1 = new Class1();20 class1.Second = "我是非靜態(tài)成員";21 22 }23 24 }
還有幾點(diǎn):
1、靜態(tài)方法只能調(diào)用類(lèi)的靜態(tài)成員,但它內(nèi)部是可以定義變量的(常量也能放在靜態(tài)方法里(編譯器會(huì)隱式設(shè)置為靜態(tài)))
2、一般方法也可以調(diào)用靜態(tài)成員
1 class Class1 2 { 3 public static string No { set; get; } 4 public string Second { set; get; } 5 6 public static void Wmt() 7 { 8 string variate = "我是個(gè)變量"; 9 No = "我是靜態(tài)成員";10 }11 12 public void Www()13 {14 No = "我是靜態(tài)成員";15 }16 17 }
如果類(lèi)只包含靜態(tài)方法、屬性,那它就是靜態(tài)類(lèi)
1 static class class12 {3 public static string No { set; get; }4 5 public static void Wmt()6 {7 8 }9 }
再提下常量和只讀字段的區(qū)別吧:
常量是一個(gè)包含不能修改的值的變量,它是靜態(tài)的。而只讀字段不僅能在聲明時(shí)初始化,還能在構(gòu)造函數(shù)中賦值,適合用于要通過(guò)計(jì)算才能確定初始值。只讀字段還能是個(gè)實(shí)例字段哦,類(lèi)的每個(gè)對(duì)象都能有不同的值。注意:不一定非要在構(gòu)造函數(shù)中給只讀字段賦值,如果沒(méi)有賦值,它的值就是特定數(shù)據(jù)類(lèi)型的默認(rèn)值。
1 using System; 2 using System.Collections.Generic; 3 using System.Linq; 4 using System.Text; 5 6 namespace Consoleapplication3 7 { 8 class PRogram 9 {10 static void Main(string[] args)11 {12 var cl = new class1("I'm readonly");13 var c2 = new class1("I'm readonly too");14 var c3 = new class1();15 Console.WriteLine(cl.Wmt);16 Console.Write(c2.Wmt);17 Console.Write(c3.Wmt);18 Console.Read();19 }20 }21 public class class122 {23 public readonly string Wmt;24 public class1(string Words)25 {26 Wmt = words;27 }28 29 public class1()30 {31 }32 }33 34 }
運(yùn)行結(jié)果:

復(fù)習(xí)下知識(shí),再把基礎(chǔ)的東西翻出來(lái)看看,別有一番體會(huì)~~
新聞熱點(diǎn)
疑難解答
圖片精選
網(wǎng)友關(guān)注