c#所有方法都必須在類的內部聲明,但如果把方法或者字段聲明為static就可以使用,類名代用方法或者訪問字段。
在方法中聲明一個靜態變量a 和一個靜態的aFun方法。下面是在主函數中調用。
從上圖可以看出來我們是直接使用類的名字調用這些變量和方法。靜態方法不依賴的實例,不能訪問類的任何實例字段或者實例方法,相反,只能方位標記位static的其它方法和字段。
靜態字段能夠咋類的所有對象之間共享,非靜態字段則局部與類的實例。
使用const關鍵字創建靜態字段:
用const關鍵字聲明的字段稱為常亮字段,是一種特殊的靜態字段,它是永遠不能改變的。關鍵字const是constant常量的簡稱,const字段雖然也是靜態字段,但是不用static關鍵字,只有數字類型、字符串類型和枚舉類型的字段才能聲明為const字段。例如Math類中的PI就被聲明成了Const字段。
靜態類:
c#允許聲明靜態類,靜態類只能包含靜態成員靜態類純粹作為工具方法和字段的容器使用。靜態類不能包含任何實例數據和方法。使用new操作符對創建靜態類的對象沒有意義,編譯器也會報錯。為了執行初始化,靜態類允許包含一個默認的構造器,前提是該構造器也被聲明為靜態。
匿名類:
匿名類就是沒有名字的類,創建匿名類的方法是以new關鍵字開頭,后面跟一對{},然后再大括號中定義想在類中包含的字段和值。定義匿名類時只有編譯器知道它的名字。匿名類雖然有時候好用,但內容存在着相當多的限制。例如、匿名類只能包含公共字段,字段必須全部初始化,不可以是靜態,而且不能定義任何方法。