您好,登錄后才能下訂單哦!
這篇文章主要講解了“C#靜態構造函數有什么作用”,文中的講解內容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“C#靜態構造函數有什么作用”吧!
C#構造函數是一種特殊的成員函數,它主要用于為對象分配存儲空間,對數據成員進行初始化.
(1)C#構造函數的名字必須與類同名;
(2)C#構造函數沒有返回類型,它可以帶參數,也可以不帶參數;
(3)C#構造函數的主要作用是完成對類的初始化工作;
(4)在創建一個類的新對象(使用new關鍵字)時,系統回自動調用給類的構造函數初始化新對象;
C#的類有兩種構造函數:實例構造函數和靜態構造函數
C#構造函數之實例構造函數:
負責初始化類中的實例變量,它只有在用戶用new關鍵字為對象分配內存時才被調用,而且作為引用類型的類,其實例化后的對象必然時分配在托管堆(Managed Heap)上。實例構造函數又分為默認構造函數和非默認構造函數,注意一旦類有了自己的構造函數,無論是有參數還是沒有參數,默認構造函數都將無效,而且僅僅聲名一個類而不實例化它,則不會調用構造函數。
C#構造函數之靜態構造函數:
(1)用于對靜態字段、只讀字段等的初始化;
(2)添加static關鍵字,不能添加訪問修飾符,因為靜態構造函數都是私有的;
(3)類的靜態構造函數在給定應用程序域中至多執行一次,只有創建類的實例或者引用類的任何靜態成員才激發,不能帶又參數;
(4)靜態構造函數是不可繼承的,而且不能被直接調用;
(5)如果類中包含用來開始執行的 Main 方法,則該類的靜態構造函數將在調用 Main 方法之前執行.任何帶有初始值設定項的靜態字段,則在執行該類的靜態構造函數時,先要按照文本順序執行那些初始值設定項;
(6)如果沒有編寫靜態構造函數,而這時類中包含帶有初始值設定的靜態字段,那么編譯器會自動生成默認的靜態構造函數;
一個類可以同時擁有實例構造函數和靜態構造函數,這是惟一可以具有相同參數列表的同名方法共存的情況。
感謝各位的閱讀,以上就是“C#靜態構造函數有什么作用”的內容了,經過本文的學習后,相信大家對C#靜態構造函數有什么作用這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關知識點的文章,歡迎關注!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。