4 回答

TA貢獻(xiàn)1820條經(jīng)驗(yàn) 獲得超10個(gè)贊
SingleNode(const Object & e=Object(),SingleNode * n=0);
這里面object()是類Object的構(gòu)造函數(shù),在你不傳這個(gè)參數(shù)的時(shí)候會(huì)默認(rèn)用Object的構(gòu)造函數(shù)構(gòu)造一個(gè)對(duì)象,并賦值給引用e,因?yàn)槭菢?gòu)造函數(shù),函數(shù)當(dāng)然要加括號(hào)了,不加也是可以的~僅此而已~

TA貢獻(xiàn)1848條經(jīng)驗(yàn) 獲得超6個(gè)贊
object()是類Object的構(gòu)造函數(shù)。
1.構(gòu)造函數(shù)的命名必須和類名完全相同;在java中普通函數(shù)可以和構(gòu)造函數(shù)同名,但是必須帶有返回值。
2.構(gòu)造函數(shù)的功能主要用于在類的對(duì)象創(chuàng)建時(shí)定義初始化的狀態(tài)。它沒有返回值,也不能用void來修飾。這就保證了它不僅什么也不用自動(dòng)返回,而且根本不能有任何選擇。而其他方法都有返回值,即使是void返回值。盡管方法體本身不會(huì)自動(dòng)返回什么,但仍然可以讓它返回一些東西,而這些東西可能是不安全的。
3.構(gòu)造函數(shù)不能被直接調(diào)用,必須通過new運(yùn)算符在創(chuàng)建對(duì)象時(shí)才會(huì)自動(dòng)調(diào)用;而一般的方法是在程序執(zhí)行到它的時(shí)候被調(diào)用的。
4.當(dāng)定義一個(gè)類的時(shí)候,通常情況下都會(huì)顯示該類的構(gòu)造函數(shù),并在函數(shù)中指定初始化的工作也可省略,不過Java編譯器會(huì)提供一個(gè)默認(rèn)的構(gòu)造函數(shù).此默認(rèn)構(gòu)造函數(shù)是不帶參數(shù)的。而一般的方法不存在這一特點(diǎn)。
5.當(dāng)一個(gè)類只定義了私有的構(gòu)造函數(shù),將無法通過new關(guān)鍵字來創(chuàng)建其對(duì)象,當(dāng)一個(gè)類沒有定義任何構(gòu)造函數(shù),C#編譯器會(huì)為其自動(dòng)生成一個(gè)默認(rèn)的無參的構(gòu)造函數(shù)。
添加回答
舉報(bào)