構(gòu)造方法是用于創(chuàng)建對(duì)象時(shí)初始其成員變量,通常和new運(yùn)算符結(jié)合使用。new運(yùn)算符的作用分配內(nèi)存,對(duì)象的內(nèi)存分配完成之后接下來調(diào)用構(gòu)造方法來初始化對(duì)象各成員變量。如果類沒有顯式地定義構(gòu)造方法,編譯時(shí)會(huì)添加一個(gè)默認(rèn)的構(gòu)造方法,即沒有任何參數(shù)的構(gòu)造方法,該方法對(duì)各成員變量使用默認(rèn)值。有時(shí)候需要初始化對(duì)象時(shí)希望使用指定的值時(shí)就需要顯式定義構(gòu)造方法,甚至還可還參數(shù)。
構(gòu)造方法語(yǔ)法如下:
訪問修改符類名(參數(shù)列表…){
方法體
}
構(gòu)造方法和普通的成員方法不同:構(gòu)造方法沒有返回類型,方法必須和類名相同。
構(gòu)造方法也可重載成多個(gè),以滿足不同初始化需求。
classStudent {
Stringname;
intage;
booleangender;
publicStudent() {
this.name="";
this.age= 18;
this.gender=true;
}
publicStudent(Stringname,booleangender) {
this.name=name;
this.age= 18;
this.gender=gender;
}
publicStudent(Stringname,intage,booleangender) {
this.name=name;
this.age=age;
this.gender=gender;
}
publicvoidprintInfo() {
System.out.println("學(xué)生姓名:"+name+",年齡"+age+",性別:"+ (gender?"男":"女"));
}
}
publicclassDemo1 {
publicstaticvoidmain(String[]args) {
Students1=newStudent();
s1.printInfo();
Students2=newStudent("Jack",true);
s2.printInfo();
Students3=newStudent("Alice",20,false);
s3.printInfo();
}
}
程序運(yùn)行的結(jié)果如下: