2018-11-12 16:55:40
分類:軟件編程星級(jí):軟件大?。?i>140.42MB
平臺(tái):WinXp,Win2003,WinVista,Win 7,Win 8,x64
對(duì)于方法的創(chuàng)建,可將其想象成為自己寫的每個(gè)類都調(diào)用一次initialize {
System.out.println(
"Creating Rock number " + i);
}
}public class SimpleConstructor {
public static void main(String[] args) {
for(int i = 0; i < 10; i++)
new Rock(i);
}
}利用構(gòu)建器的自變量,我們可為一個(gè)對(duì)象的初始化設(shè)定相應(yīng)的參數(shù)。舉個(gè)例子來(lái)說(shuō),假設(shè)類Tree有一個(gè)構(gòu)建器,它用一個(gè)整數(shù)自變量標(biāo)記樹的高度,那么就可以象下面這樣創(chuàng)建一個(gè)Tree對(duì)象:tree t = new Tree(12); // 12英尺高的樹若Tree(int)是我們唯一的構(gòu)建器,那么編譯器不會(huì)允許我們以其他任何方式創(chuàng)建一個(gè)Tree對(duì)象。
構(gòu)建器有助于消除大量涉及類的問題,并使代碼更易閱讀。例如在前述的代碼段中,我們并未看到對(duì)initialize()方法的明確調(diào)用——那些方法在概念上獨(dú)立于定義內(nèi)容。在Java中,定義和初始化屬于統(tǒng)一的概念——兩者缺一不可。
構(gòu)建器屬于一種較特殊的方法類型,因?yàn)樗鼪]有返回值。這與void返回值存在著明顯的區(qū)別。對(duì)于void返回值,盡管方法本身不會(huì)自動(dòng)返回什么,但仍然可以讓它返回另一些東西。構(gòu)建器則不同,它不僅什么也不會(huì)自動(dòng)返回,而且根本不能有任何選擇。若存在一個(gè)返回值,而且假設(shè)我們可以自行選擇返回內(nèi)容,那么編譯器多少要知道如何對(duì)那個(gè)返回值作什么樣的處理。