this 关键字的作用
1. 当前对象的引用
this 是对象的引用,如下示例代码:
public class Test {
public static void main(String[] args) {
// 定义一个引用 p1,并初始化指向 Person() 对象
Person p1 = new Person();
// 打印 p1 指向的对象的 hashCode
System.out.println(p1.hashCode());
}
}
class Person{
public Person(){
// 打印 this 指向对象的 hashCode
System.out.println(this.hashCode());
}
}
// 两个 hashCode 打印出来是相同的
2. 成员变量/成员方法,可以区分成员变量和形参重名的问题
class Person{
private int age;
private String name;
// this 可以调用本类的属性
public Person(int age){
this.age = age;
}
public Person(String name){
this.name = name;
}
}
3. 构造方法,this 可以表示一个构造方法。this() 不能使用在普通方法中 只能写在构造方法中,必须是构造方法中的第一条语句,如果不是第一条语句,就会编译报错。
class Person{
private int age;
private String name;
public Person(String name){
this("小明");
this.name = name;
}
}