C# 靜態方法 靜態屬性 調用靜態方法


C#的類中可以包含兩種方法:靜態方法和非靜態方法。

使用了static 修飾符的方法為靜態方法,反之則是非靜態方法。

靜態方法是一種 特殊的成員方法,它不屬於類的某一個具體的實例,而是屬於類本身。所以對靜態方法不需要首先創建一個類的實例,而是采用類名.靜態方法的格式 。

1.static方法是類中的一個成員方法,屬於整個類,即不用創建任何對象也可以直接調用!

static內部只能出現static變量和其他static方法!而且static方法中還不能使用this....等關鍵字..因為它是屬於整個類!

2.靜態方法效率上要比實例化高,靜態方法的缺點是不自動進行銷毀,而實例化的則可以做銷毀。

3.靜態方法和靜態變量創建后始終使用同一塊內存,而使用實例的方式會創建多個內存.

4.C#中的方法有兩種:實例方法,靜態方法.

類的方法代碼只有一份,它們的生命周期和類是一致的.實例方法是通過對象名調用的,靜態方法與類關聯而不是與對象名關聯.

5.那么在程序中什么地方可以利用靜態字段和靜態構造方法,通常適用於於一些不會經常變化而又頻繁使用的數據,比如連接字符串,配置信息等,當滿足上面所 說的兩點時,進行一次讀取,以后就可以方便的使用了,同時也節約了托管資源,因為對於靜態成員,一個靜態字段只標識一個存儲位置。對一個類無論創建了多少 個實例,它的靜態字段永遠都只有一個副本(副本我理解為只有一塊內存

靜態成員存在於內存,非靜態成員需要實例化才會分配內存,所以靜態成員不能訪問非靜態的成員..因為靜態成員存在於內存,所以非靜態成員可以直接訪問類中靜態的成員. 公用的處理函數,使用靜態方法應該沒有問題..牽涉到數據共享,靜態變量的函數要多考慮...靜態變量要小心使用.. 靜態方法

原理就是共享代碼段

共享代碼段不會產生任何問題

因為代碼段都是給CPU作為"讀取"用的,除非你進行惡意"修改"運行時的代碼段

所以靜態方法是可以放心使用的

靜態變量

原理就是共享數據段

同上 只要沒有進行"寫入"操作就不會產生問題 但是數據通常都是用於讀和寫 所以靜態變量要注意使用

 

下面是一個使用靜態方法的例子    class Class1

    {

        [STAThread]

        static void Main(string[] args)

        {

            int i = MyClass.Add(3,5);   //調用靜態方法

            Console.WriteLine(i);

        }

    }

 

    class MyClass

    {

        public static int Add(int x,int y )

        {

            return x + y ;

        }

    }


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM