黑馬程式設計師 靜態類的基本重要知識點

2021-06-22 17:51:42 字數 1206 閱讀 2229

---------------------- asp.net+unity開發、.net培訓、期待與您交流! ----------------------

小結一下關於靜態類的重要知識點:

1、呼叫靜態方法的時候只能通過類名直接來呼叫,不能通過物件來呼叫。也就是說靜態成員不需要例項化物件。

2、靜態成員在整個程式推出時才才釋放資源,所以可以在整個應用程式中用到靜態成員,它相當於在共享資料。

3、靜態類的建構函式,只會在第一次使用靜態類之前呼叫執行,並且只會執行一次。

4、當給乙個普通類新增靜態欄位後,系統會預設為該類生成乙個靜態建構函式。【靜態建構函式不能有訪問修飾符,並且不能夠帶引數】

5、靜態類不能被例項化,並且不能被繼承。

6、由於靜態成員在整個程式推出時才釋放資源,所以盡量避免寫靜態字段,一般只寫靜態方法。

7、靜態類和普通類中的靜態成員

(1)靜態類:一般都用作工具類,裡面都是一些工具函式例如math,console,都是靜態類。  靜態類中只包括靜態成員。

(2)普通類中的靜態成員:只能通過類名來訪問,多個物件共享乙個靜態成員。靜態方法中只能訪問靜態成員。

什麼時候用靜態類?

答:一般情況下,當這個類是乙個工具類,裡面都是方法,為了讓使用者呼叫的時候方便,不需要例項化物件,可將此類直接標記為static的類,該類中只能包含靜態成員,不能包含例項成員。

什麼情況下只需在乙個普通類中編寫乙個靜態成員,而這個類不能標記為static?

答:當這個類需要例項化的時候或者用到多型的時候(多型是必須能被繼承的,而靜態類是不能夠被繼承的)。這時如果類中的乙個成員是所有物件共享的資料,這時候可以將該類中的這個成員標記為靜態的,但是該類還是乙個例項類。

8、靜態方法或者靜態變數建立後始終使用同一塊記憶體(靜態儲存區),而使用例項方式則會建立多個記憶體。

9、靜態類的繼承問題:

靜態類不能被其他類繼承。

靜態類不能繼承自其他類,只能繼承自object類。

靜態類不能使用多型(本身就不能被繼承)

sealed:密封類,不能被繼承      或   禁止子類重寫父類的方法。

10、靜態類的本質:abstract+sealde

(1)abstract:不能被例項化

(2)sealed: 不能被繼承。

--------------------- asp.net+unity開發、.net培訓、期待與您交流! ----------------------

黑馬程式設計師 類相關知識

asp.net android ios開發 net培訓 期待與您交流!程式設計師認為,世界是由物件組成。物件有特徵 行為 物件一定是實實在在存在的 例如 戴爾是乙個品牌,具體的一台戴爾電腦才是物件 類是模子,是物件的抽象,規定出物件的屬性和行為 類是物件的型別,類例項化 物件 定義類的語法 訪問修飾...

黑馬程式設計師 靜態方法和靜態類

靜態方法 靜態 例項 非靜態 static關鍵字 不需要static關鍵字 使用類名呼叫 使用例項物件呼叫 在靜態方法中可以訪問靜態成員 在例項方法中 可以直接訪問靜態成員 在靜態方法中,不可以直接訪問例項成員,需要建立物件,通過物件呼叫 在例項方法中,可以直接訪問例項成員 呼叫前初始化 例項化物件...

黑馬程式設計師 static靜態

asp.net unity開發 net培訓 期待與您交流!static關鍵字 由同乙個類建立的所有物件共享,在記憶體中只載入一次 靜態修飾的成分儲存在方法區或者共享區或者資料區 盡量少設定過多的靜態,會占用太多的空間 隨著類的載入而載入,也就是說類載入一次,static修飾的成員也只載入一次 類存在...