無(wú)參構(gòu)造方法和有參構(gòu)造方法
無(wú)參構(gòu)造方法
無(wú)參構(gòu)造方法是一個(gè)類(lèi)中不帶任何參數(shù)的構(gòu)造方法。當(dāng)一個(gè)對(duì)象被創(chuàng)建時(shí),無(wú)參構(gòu)造方法會(huì)被自動(dòng)調(diào)用來(lái)初始化該對(duì)象的實(shí)例變量。
例如,在Java中,一個(gè)類(lèi)的無(wú)參構(gòu)造方法的語(yǔ)法如下:
有參構(gòu)造方法
有參構(gòu)造方法是一個(gè)類(lèi)中帶有參數(shù)的構(gòu)造方法。與無(wú)參構(gòu)造方法不同,有參構(gòu)造方法在創(chuàng)建對(duì)象時(shí)需要傳入?yún)?shù)來(lái)初始化對(duì)象的實(shí)例變量。
例如,在Java中,一個(gè)類(lèi)的有參構(gòu)造方法的語(yǔ)法如下:
有參構(gòu)造方法可以接受不同類(lèi)型和數(shù)量的參數(shù),這取決于開(kāi)發(fā)者的需求。使用有參構(gòu)造方法可以更方便地初始化對(duì)象的實(shí)例變量,從而簡(jiǎn)化代碼并提高可讀性。
這是一個(gè)無(wú)參構(gòu)造方法和有參構(gòu)造方法都使用了的案例
輸出結(jié)果為:
在類(lèi)的介紹中,我們說(shuō)過(guò)類(lèi)像是一個(gè)模板,而構(gòu)造方法就是可以給模板里的內(nèi)容一些變量初始化值。
需要特別注意的是,如果類(lèi)中沒(méi)有有參構(gòu)造方法,那么無(wú)參構(gòu)造方法可以不寫(xiě),編譯器會(huì)自動(dòng)給出默認(rèn)的無(wú)參構(gòu)造方法。但如果類(lèi)中已經(jīng)有了有參構(gòu)造方法,則必須寫(xiě)無(wú)參構(gòu)造方法,不可省略。
另外,從上面的例子可以看到,Java 是允許方法名重名的,只要參數(shù)不相同即可。重名方法常用與構(gòu)造方法和重載方法,關(guān)于重載方法我們會(huì)在后面講到。