您好,登錄后才能下訂單哦!
1:構造方法的可訪問性
構造方法可以是共有的或私有的。
2:默認構造方法
默認構造方法就是不帶參數的構造方法。
如果沒有為類添加任何構造方法,系統會自動生成一個隱藏的默認構造方法;但如果用戶添加了任意一個構造方法,系統就不會自動生成默認的構造方法了。也就是說,如果用戶為類添加了自己的定義的構造方法,那么就只能使用用戶定義的這些構造方法來生成對象了。
3:構造方法調用構造方法
格式如下:
構造方法名(參數列表) : this(參數列表)
{
方法體
}
舉例:
class DerivedClass { public DerivedClass() : this(100) { Console.WriteLine("Derived Class's Default Constructor"); } public DerivedClass(int i) { Console.WriteLine("Derived Class's Constructor with Param: {0}", i); } }
和Java的區別
Java中,構造方法調用另一個構造方法也是使用this(參數)的方法,但Java是將其作為一條語句放在方法體中的,而且這條this語句還必須是方法體的第一條語句。
4:在繼承結構中,父類對象的生成
和C++、Java一樣,如果有繼承結構,那么在生成子類對象時會先生成父類對象。
默認情況下,在執行子類的構造方式(所有的構造方法)時會先自動調用父類的默認構造方法以生產父類對象,所以,如果在子類的構造方法中沒有特別說明,而父類又沒有默認的構造方法,系統會提示出錯。
一般情況下,我們會在子類的構造方法中明確的告訴系統,子類的構造方法要調用父類的哪個構造方法。
格式如下:
子類的構造方法名 : base(參數列表)
{
方法體
}
這樣,在執行這個構造方法之前,系統會先調用父類的相應的構造方法。
與Java的區別:Java中使用的關鍵字是super,而且也是作為語句放置于方法體的開頭。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。