在Java中,this
關鍵字是一個引用變量,它指向當前對象。在構造函數中使用this
關鍵字可以有以下幾種用法:
this
關鍵字來區分它們。this
關鍵字指向當前對象的屬性,而不是參數。public class Person {
private String name;
public Person(String name) {
this.name = name; // 使用this關鍵字,將參數name指向當前對象的屬性name
}
}
this()
關鍵字調用同一個類中的另一個構造函數。這樣可以避免代碼重復,提高代碼的可維護性。public class Person {
private String name;
private int age;
public Person() {
this("未知", 0); // 調用另一個構造函數Person(String name, int age)
}
public Person(String name, int age) {
this.name = name;
this.age = age;
}
}
this
關鍵字返回當前對象。public class StringBuilder {
private String buffer;
public StringBuilder append(String str) {
this.buffer += str; // 返回當前對象,實現鏈式調用
return this;
}
}
總之,this
關鍵字在Java構造函數中的用法主要是為了解決命名沖突、調用另一個構造函數以及返回當前對象。