資源描述:
《java基礎(chǔ)構(gòu)造方法與方法重載》由會員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在行業(yè)資料-天天文庫。
1、Java基礎(chǔ)構(gòu)造方法與方法重載 本文由廣州瘋狂軟件java培訓(xùn)為你整理: 在方法與數(shù)據(jù)成員中,我們提到,Java中的對象在創(chuàng)建的時候會初始化(initialization)。初始化時,對象的數(shù)據(jù)成員被賦予初始值。我們可以在聲明數(shù)據(jù)成員的時候確定一個初始值,這叫做顯式初始化。如果我們沒有給數(shù)據(jù)成員賦予初始值,數(shù)據(jù)成員會根據(jù)其類型采用默認(rèn)初始值。 除了上面的兩種初始化方法,我們還可以使用構(gòu)造方法(constructor)來初始化對象。構(gòu)造方法除了可以初始化數(shù)據(jù)成員,還可以規(guī)定特定的操作。這些操作會在創(chuàng)建對象時自動執(zhí)行。 定義構(gòu)造方法
2、 像普通方法一樣,我們在類中定義構(gòu)造方法。構(gòu)造方法有如下基本特征: 構(gòu)造方法的名字和類的名字相同 構(gòu)造方法沒有返回值 我們定義Human類的構(gòu)造方法: 復(fù)制代碼 publicclassTest { publicstaticvoidmain(String[]args) { HumanaPerson=newHuman(160); System.out.println(aPerson.getHeight()); } } classHuman { /** *constructor */ Human(inth
3、) { this.height=h; System.out.println("I'mborn"); } /** *accessor */ intgetHeight() { returnthis.height; } intheight; } 復(fù)制代碼 上面的程序會打印 I'mborn 160 我們先看構(gòu)造方法的定義。構(gòu)造方法可以像普通方法一樣接收參數(shù)列表。這里,構(gòu)造方法Human()接收一個整數(shù)作為參數(shù)。在方法的主體中,我們將該整數(shù)參數(shù)賦予給數(shù)據(jù)成員height。由于構(gòu)造方法沒有返回值,所以構(gòu)造方法不用
4、規(guī)定返回值的類型。構(gòu)造方法的主要功能是,在對象創(chuàng)建時:為數(shù)據(jù)成員提供初始值this.height=h; 執(zhí)行特定的初始操作System.out.println("I'mborn"); 再來看構(gòu)造方法的調(diào)用。我們之前在創(chuàng)建類的時候,采用的都是newHuman()的方式。實(shí)際上,我們就是在調(diào)用Human類的構(gòu)造方法。當(dāng)我們沒有定義該方法時,Java會提供一個空白的構(gòu)造方法,以便使用new的時候調(diào)用。但當(dāng)我們定義了構(gòu)造方法時,在創(chuàng)建對象時,Java會調(diào)用定義了的構(gòu)造方法。在調(diào)用時,我們提供了一個參數(shù)160。從最后的運(yùn)行結(jié)果中也可以看到,對
5、象的height確實(shí)被初始化為160?! 〕跏挤椒▋?yōu)先級 在方法與數(shù)據(jù)成員中,我們可以看到,如果我們提供顯式初始值,那么數(shù)據(jù)成員就會采用顯式初始值,而不是默認(rèn)初始值。但如果我們既提供顯式初始值,又在構(gòu)造方法初始化同一數(shù)據(jù)成員,最終的初始值將由構(gòu)造方法決定。比如下面的例子: 復(fù)制代碼 publicclassTest { publicstaticvoidmain(String[]args) { HumanaPerson=newHuman(160); System.out.println(aPerson.getHeight()
6、); } } classHuman { /** *constructor */ Human(inth) { this.height=h; } /** *accessor */ intgetHeight() { returnthis.height; } intheight=170;//explicitinitialization } 復(fù)制代碼 運(yùn)行結(jié)果為: 160 對象最終的初始化值與構(gòu)建方法中的值一致。因此: 構(gòu)建方法>顯式初始值>默認(rèn)初始值 (事實(shí)上,所謂的優(yōu)先級與初始化時的執(zhí)行順序
7、有關(guān),我將在以后深入這一點(diǎn)) 學(xué)IT技術(shù)就學(xué)Java技術(shù),瘋狂軟件Java培訓(xùn)機(jī)構(gòu),打造國內(nèi)高級Java人才。 瘋狂軟件Java培訓(xùn)優(yōu)勢 1.Java是世界第一大編程語言,市場占有率達(dá)20%?! ?.廣州最專業(yè)Java培訓(xùn)機(jī)構(gòu),多年教學(xué)經(jīng)驗?! ?.學(xué)員技術(shù)牛就業(yè)率最好,就業(yè)薪資都在5000以上?! ?.瘋狂軟件Java培訓(xùn)課程以項目實(shí)戰(zhàn)帶動教學(xué),上課打破傳統(tǒng)課堂模式,以實(shí)訓(xùn)項目貫穿教學(xué),帶領(lǐng)學(xué)生一起做企業(yè)真實(shí)項目?! ’偪馢ava培訓(xùn)(瘋狂軟件Java培訓(xùn)咨詢QQ:544627560電話:020-28309378QQ:70755
8、2864詳情請搜索官網(wǎng)fkjava)專注軟件開發(fā)培訓(xùn),提升學(xué)員就業(yè)能力,重點(diǎn)提升實(shí)踐動手能力。高薪從IT名企請來項目經(jīng)理為學(xué)員親自授課,對學(xué)員進(jìn)行實(shí)戰(zhàn)教學(xué),在瘋狂java,通過大量全真經(jīng)典企業(yè)級項目進(jìn)行集中