java中this关键字的用法
时间: 2023-06-18 18:02:31 浏览: 50
在Java中,this关键字表示当前对象的引用。下面是几个使用this关键字的情况:
1. 调用当前对象的构造函数:当一个类有多个构造函数时,可以使用this关键字调用其他构造函数,这样可以避免代码重复。
```java
public class Person {
private String name;
private int age;
public Person() {
this("Tom", 20); // 调用有参构造函数
}
public Person(String name, int age) {
this.name = name;
this.age = age;
}
}
```
2. 区分成员变量和局部变量:当成员变量和局部变量同名时,可以使用this关键字来区分。
```java
public class Person {
private String name;
private int age;
public Person(String name, int age) {
this.name = name; // 成员变量name
this.age = age; // 成员变量age
}
public void setName(String name) {
this.name = name; // 成员变量name
}
}
```
3. 返回当前对象:在方法中可以使用this关键字返回当前对象的引用。
```java
public class Person {
private String name;
private int age;
public Person withName(String name) {
this.name = name;
return this; // 返回当前对象
}
public Person withAge(int age) {
this.age = age;
return this; // 返回当前对象
}
}
```
4. 在内部类中使用外部类的成员变量:在内部类中可以使用this关键字来访问外部类的成员变量。
```java
public class Outer {
private int num;
public void method() {
Inner inner = new Inner();
inner.printNum();
}
class Inner {
public void printNum() {
System.out.println(Outer.this.num); // 使用外部类的成员变量
}
}
}
```