this关键字用于表示本类当前的对象。当前对象不是已经被创建出来的对象,而是当前真正编辑的对象。this关键字只能在本类中使用。this关键字主要有两个使用场景。
访问成员变量的语法格式如下。
this.变量名
这种用法只能在本类中使用。使用this引用本类的成员变量可以有效地避免“名称冲突”问题。例如,下面的示例代码中构造方法的形参和类的成员变量名称相同,把形参的值赋给成员变量时,成员变量必须通过this关键字进行引用,否则无法实现赋值操作。
class Customer{
String name;
public Customer(String name) {
//形参变量和成员变量名相同
this.name = name;
}
}
构造方法是在创建对象时由系统自动调用的,不能在代码中像调用其他方法一样调用构造方法。但可以在一个构造方法里调用其他构造方法,不是用构造方法名调用,而是用this(参数列表)的形式进行调用。通过this关键字调用构造方法的示例代码如下。
public class Student{
String name;
int age;
public Student (String name){
this.name = name;
}
public Student (String name,int age){
this(name); //通过this关键字调用构造方法
this.age = age;
}
}
在类Student的第二个构造方法中,通过this(name)调用第一个构造方法。