構造器(constructor)的特征:
? ? ? ? ? ?它具有與類相同的名稱
? ? ? ? ? ?它不聲明返回值類型。(與聲明為void不同)
? ? ? ? ? ? 不能被static,final,syschromized,abstract,native修飾,不能有return語句返回值
構造器作用:創建對象,給對象進行初始化
? ? ? ? ? ? 如:Order o = new Order(); ?
? ? ? ? ? ? ? ? ? ?Person p = new Person(Peter,15)
? ? ? ? 如果我們規定每個”人“一出生就必須先洗澡,我們就可以在”人"的構造犯法中加入 ? ? ? ? ? ? ? ? ? ? ? 完成“洗澡”的程序代碼,于是每個“人”在一出生就會自動完成洗澡,程序就不必在 ? ? ? ? ? ? ? ? ? ? ? 每個人剛出生時一個一個地告訴他們我們要“洗澡”了。
一
1.設計類時,若不顯式聲明類的構造器的話,程序會默認提供一個空參的構造器。
2.一旦顯示的定義類的構造器,那么默認的構造器就不再提供。
3.如何聲明構造器。格式:修飾權限符 類名(形參){ }? (修飾權限符:private 除本類外,無法new 構造器)
4.類的多個構造器之間構成重載
二
類對象的屬性賦值的先后順序:1.屬性的默認初始化,2,屬性的顯示初始化 3.構造器給屬性初始化 4,通過對象點方法的方式給屬性賦值。
代碼示例:
public classPerson {
//屬性
private intage;
//構造器
publicPerson(){
}
publicPerson(intage){
this.age= age;
}
//方法
public voidsetAge(intage){
if(age>=0&& age<=130) {
this.age= age;
}else{
throw newRuntimeException("您輸入的年齡值不合法,請輸入0-130");
}
}
public intgetAge(){
return this.age;
}
public voidinfo(){
System.out.println("年齡是:"+this.age);
}
}