程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> C# >> C#入門知識 >> 理解C#中的“靜態”

理解C#中的“靜態”

編輯:C#入門知識

一、靜態成員

1、通過static關鍵字修飾,是屬於類,實例成員屬於對象,在這個類第一次加載的時候,這個類下面的所有靜態成員會被加載。

2、靜態成員只被創建一次,所以靜態成員只有一份,實例成員有多少個對象,就有多少份。

3、類加載的時候,所有的靜態成員就會被創建在“靜態存儲區”裡面,一旦創建直到程序退出,才會被回收。

4、變量需要被共享的時候,方法需要被反復調用的時候,就可以把這些成員定義為靜態成員。

5、在靜態方法中,不能直接調用實例成員,因為靜態方法被調用的時候,對象還有可能不存在。

6、this/base 關鍵字在靜態方法中不能使用,因為有可能對象還不存在。

7、可以創建這個類的對象,制定對象的成員在靜態方法中操作。

8、在實例方法中,可以調用靜態成員,因為這個時候靜態成員肯定存在。

二、靜態成員和實例成員的區別

1、生命周期不一樣。

2、在內存中存儲的位置不一樣。

三、靜態類

1、被static關鍵字修飾的類。

2、靜態類裡面只能聲明靜態成員。

3、靜態類的本質,是一個抽象的密封類,所以不能被繼承,也不能被實例化。

4、如果一個類下面的所有成員,都需要被共享,那麼可以把這個類定義為靜態類。

四、靜態構造函數

1、這個類的成員,第一次被訪問之前,就會執行靜態構造函數。

2、靜態構造函數只被執行一次。

 

Eg:

              i =                       i =              Console.Write(                        i =              Console.Write(            Main(              Console.Write(Program.i);
             Program p =              Console.Write(Program.i);
      }

 

注:以上文章均屬軟謀原創,如需轉載,請注明出處!

 

 

 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved