[C#學(xué)習(xí)筆記11]構(gòu)造方法三種使用形式與對象初始化器、垃圾回收GC分析
方法表示對象能做什么,封裝了對象行為
????實例方法——〉靜態(tài)方法——〉(抽象方法、虛方法)——〉構(gòu)造方法(對象創(chuàng)建的時候使用)
構(gòu)造方法的作用:在對象創(chuàng)建的時候被調(diào)用,完成初始化任務(wù)(給對象的屬性賦值或從其他對象、文本等獲取基礎(chǔ)數(shù)據(jù))
無參數(shù)的構(gòu)造方法:直接初始化對象的屬性或不變的數(shù)據(jù)
有參數(shù)的構(gòu)造方法:
使用對象初始化器:
public void Dowork2()
? ? ? ? {
? ? ? ? ? ? Course course1 = new Course()
? ? ? ? ? ? {
? ? ? ? ? ? ? ? CourseId = 2000,//按空格顯示相應(yīng)屬性,用“,”隔開
? ? ? ? ? ? ? ? CourseName = "C#上位機(jī)課程"
? ? ? ? ? ? };
? ? ? ? ? ? //Course course2 = new Course(10002, "C#面向?qū)ο缶幊?#34;)
? ? ? ? ? ? //{
? ? ? ? ? ? //? ? Type = ""
? ? ? ? ? ? //};
? ? ? ? ? ? course1 = null; //顯式的清除對象的引用,也就是course1只是一個變量名,沒有具體對象指向
? ? ? ? ? ?GC.Collect();? //這個其實是由虛擬機(jī)幫我們完成,我們沒必要多管閑事!
? ? ? ? }
構(gòu)造方法:
????存在的必要性:類中至少有一個構(gòu)造方法,有無參數(shù)都可以
????使用的特殊性:只能在對象創(chuàng)建的時候,使用new關(guān)鍵字調(diào)用
????使用的強(qiáng)制性:對象創(chuàng)建必須調(diào)用指定的構(gòu)造方式,參數(shù)必須統(tǒng)一
????語法的特殊性:不能有返回值,構(gòu)造方法名稱必須與類名一致
構(gòu)造方法與對象初始化器
????相同點:完成對象屬性初始化
????不同點:? ? ? ? ? ? ? ?構(gòu)造方法????????????????????????對象初始化器
????? ? ? ? ? ? ? 強(qiáng)制性? ? ? ?有? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?無
????????????初始化范圍?? ? ?任何??? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?只有屬性
????????? ? ? ? ? ? ?位置? ? ? ??寫在類中? ? ? ? ? ? ? ? ? ? ? ? ?創(chuàng)建對象時??? ? ? ? ? ? ? ? ? ?
?????????????????????時間? ? ? ? NET1.0以上? ? ? ? ? ? ? ? ? ? NET3.0以上
對象的銷毀

course1 = null; //顯式的清除對象的引用,也就是course1只是一個變量名,沒有具體對象指向
? ? ? ? ? ?GC.Collect();? //這個其實是由虛擬機(jī)幫我們完成,我們沒必要多管閑事!