java使用this關鍵字調用本類重載構造器


在構造器中可以調用本類的其他重載構造器,不能使用構造器名稱來調用另一個構造器,而是應該使用Java特定的this(….)來調用。

 

this(….)方法必須出現在構造器中的第一行,用來調用其他重載構造器。調用時參數必須嚴格匹配。

這種調用方式的優點在於一個構造器可以不必重復編寫其他構造器中已有的代碼,而是通過調用其他構造函數以實現復用,從而提供良好和類代碼結構。

public class Teacher {
private String name;           
private String gender;  
private int age;

public Teacher(String name){
this(name,"男");
System.out.println("第一行構造器");
}

public Teacher(String name,String gender ){
this(name,gender,45);
System.out.println("第二行構造器");
}
public Teacher(String name,String gender ,int age){
this.name = name;
this.gender = gender;
this.age = age;
System.out.println("這是第三個構造函數");
}

public void setName(String name){
this.name = name;
}

public String getName(){
return name;
}

public void  setGender(String gender) {
this.gender = gender;
}

public String getGender(){
return gender;
}

public void setAge( int age) {
if (age > 100) {
return;
}
this.age = age;
}

public int getAge(){
return age;
}

public void lecture() {

}
public void  doExec() {

}
public String say() {
String str = "我是" + name + ",性別  " +gender + ",年齡" +age;
return str;
}


}

在TestConstructor 類中調用



public class TestConstructor {
public static void main(String[] args) {
Teacher t = new Teacher("張三");
System.out.println(t.say());

Teacher t1 = new Teacher("李四", "女");
System.out.println(t1.say());

Teacher t2 = new Teacher("王五", "男", 33);
System.out.println(t2.say());



}


}


輸出結果

這是第三個構造函數
第二行構造器
第一行構造器
我是張三,性別  男,年齡45
這是第三個構造函數
第二行構造器
我是李四,性別  女,年齡45
這是第三個構造函數
我是王五,性別  男,年齡33

 

文章來源:http://blog.csdn.net/baidu_30360575/article/details/50548695


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM