java里面that.跟this.的区别
时间: 2023-09-27 07:12:36 浏览: 54
在Java中,"this"和"that"都是关键字,用于引用对象或类的成员变量、方法和构造函数。它们之间的区别在于:
1. "this"关键字只能在类的内部使用,它指的是当前对象的引用。可以使用它来访问当前对象的属性或调用当前对象的方法。
2. "that"关键字可以在类的内部和外部使用,它指的是其他对象的引用。通常使用它来引用其他对象的属性或方法。
例如,下面的代码演示了"this"关键字的用法:
```
public class Person {
private String name;
private int age;
public Person(String name, int age) {
this.name = name; // 使用this关键字访问当前对象的属性
this.age = age;
}
public void introduce() {
System.out.println("My name is " + this.name + ", and I'm " + this.age + " years old."); // 使用this关键字调用当前对象的方法
}
}
```
而下面的代码演示了"that"关键字的用法:
```
public class Main {
public static void main(String[] args) {
Person p1 = new Person("Tom", 18);
Person p2 = new Person("Jack", 20);
System.out.println(p1.name); // 直接访问对象的属性
System.out.println(p2.getName()); // 使用对象的方法访问属性
System.out.println(that.name); // 错误!无法访问“that”关键字
}
}
```