## `this` 关键字:引用当前对象
在 Java 中,`this` 是一个关键字,用于引用当前对象。它可以用于区分成员变量和局部变量,以及在方法内部访问当前对象的成员。
### 作用
1. 区分成员变量和局部变量:在类的方法中,如果有成员变量和方法的参数或局部变量同名时,可以使用 `this` 关键字来引用成员变量。
```java
public class Person {
private String name;
public void setName(String name) {
this.name = name; // 使用 this 关键字引用成员变量
}
}
```
2. 在构造方法中调用另一个构造方法:在一个构造方法中,通过 `this` 关键字调用同类的另一个构造方法,用于重用代码。
```java
public class Person {
private String name;
private int age;
public Person(String name) {
this.name = name;
}
public Person(String name, int age) {
this(name); // 调用另一个构造方法
this.age = age;
}
}
```
3. 在方法中访问对象的成员:在方法中可以使用 `this` 关键字访问当前对象的成员变量和方法。
```java
public class Person {
private String name;
public void printName() {
System.out.println(this.name); // 访问成员变量
}
}
```
### 成员变量与局部变量
#### 成员变量
- 位置:类的内部,方法的外部。
- 生命周期:随着对象的创建而存在,对象被销毁时销毁。
- 默认值:根据数据类型有默认值(如 `int` 默认为 0,`boolean` 默认为 `false`)。
#### 局部变量
- 位置:方法的内部。
- 生命周期:在方法被调用时产生,方法调用结束后销毁。
- 默认值:没有默认值,必须在使用前进行初始化。
使用 `this` 关键字可以避免命名冲突,同时在成员方法中访问对象的成员变量,以及在构造方法中调用其他构造方法。