在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构造函数中的用法主要是为了解决命名冲突、调用另一个构造函数以及返回当前对象。