靜態類和靜態成員小結

2021-07-24 08:17:36 字數 849 閱讀 4338

靜態類的總結:

1.靜態類和非靜態類十分類似,但是有一點,靜態類是不能被例項化化的,因為靜態類中就沒有例項化的變數。也就是說,對於靜態類不能使用new關鍵字。要想訪問靜態類中的成員,必須用類名來索引。

2.那麼什麼時候使用靜態模擬較合適呢?當乙個類的方法只會處理到使用者輸入的變數,而不會涉及該類自身的字段,那麼使用靜態模擬較好。比如math類,只會對使用者輸入的資料作處理。

3.當載入靜態類所在程式集的時候,.net framework的clr(公共執行時)來載入靜態類的資訊,但是程式集自身不能指定靜態類什麼時候被載入。但是可以確定的是,靜態類第一次被呼叫之前,程式肯定是載入了靜態類,並例項化了靜態字段,呼叫了靜態建構函式。而且靜態建構函式只會被呼叫一次。再生命週期內,靜態類一直存在於記憶體之中。我認為這個可以解釋為什麼在普通類的靜態方法中不能呼叫例項化變數。因為在例項化之前,這些靜態方法就需要執行但是此時例項化變數還沒「出生」。為什麼普通方法可以呼叫靜態變數呢?靜態變數已經存在於記憶體中,例項化之後呼叫也是合情合理。

4.靜態類的好處呢?當乙個類被宣告為靜態類的時候,編譯器會檢查確保不會有例項成員,同時編譯器也會檢查不讓該靜態類進行例項化。

5.靜態類的繼承關係。由於靜態類是密封的(sealed),所以靜態類不能被繼承。同時,除了object類之外,也不會繼承其他類。

靜態成員:

1.靜態成員。靜態成員的訪問是類名加上變數名來訪問的。

2.靜態方法之中是無法訪問例項變數的。

3.如果有靜態字段,就要提供靜態建構函式。

4.什麼時候使用靜態變數呢?(1)需要計算例項化個數時(2)需要建立乙個所有例項都需要的成員時

靜態類和靜態類成員(C )

靜態類與非靜態類基本相同,但存在乙個區別 靜態類不能例項化。也就是說,不能使用 new 關鍵字建立靜態類型別的變數。因為沒有例項變數,所以要使用類名本身訪問靜態類的成員。例如,如果名為 utilityclass 的靜態類有乙個名為 methoda 的公共方法,則按下面的示例所示呼叫該方法 c uti...

C 靜態類成員和靜態類成員函式

一 靜態類成員 include class stringbad 靜態類成員有乙個特點 無論建立多少物件,程式都只能建立乙個靜態變數副本。也就是說所有物件共享同乙個靜態成員,就像你家 可供全家家庭成員共享一樣。假設建立了10個stringbad物件,將有10個str成員和len成員,但是只共享乙個nu...

C 基礎 靜態成員和靜態類

靜態成員 1.靜態成員是被static關鍵字修飾的.是屬於類的.通過類名.靜態成員來訪問.2.例項成員 沒有被static關鍵字修飾的 是屬於物件的.通過物件名.例項成員來訪問.3.例項成員屬於物件.4.在這個類第一次被載入的時候,這個類下面的所有的靜態成員會被載入 5.靜態成員只被建立1次.所以靜...