/* java 中目標就是消除冗餘代碼 ,15行與21行定義的person存在重複,所以22--24行用this進行調用*/
class person{
/*定義參數 name 、int 、 */
String name;
int age;
String address;
//以下對類person進行 構造函數
//無參數的構造函數按照習慣是必須添加的
public person(){
System.out.println("無參數的構造函數");
}
//爲了方便進行調用如上定義雙字符串 String時,避免調用出錯以下則用this
public person (String name,int age){
this.name = name;
this.age = age;
System.out.println("兩個參數的構造函數");
}
public person(String name , int age , String address){
this(); //此語句是調用本類中無參的構造函數;
//this(name,age); // 此語句是調用本類中有兩個參數的構造函數;
this.address = address;
System.out.println("三個參數的構造函數");
}
}
class test{
public static void main (String args []){
person p1 = new person("zhangsan",20,"beijing");
}
}
javac person.java
javac test.java
java test
若使用this();則結果爲
F:\銳捷網絡\java\this>java test
無參數的構造函數
三個參數的構造函數
若使用this(name,age);則結果爲
F:\銳捷網絡\java\this>javac person.java
F:\銳捷網絡\java\this>javac test.java
F:\銳捷網絡\java\this>java test
兩個參數的構造函數
三個參數的構造函數