this关键字
1)this表示当前对象:
一个类中是可以定义同名的成员变量和局部变量的。
如:
public class Stu{
Student s1 = new Student("小明");
}
class Student{
String name = name;
//局部变量name与对象变量name同名
public void set(String name){
this.name = name;
}
}
this表示当前对象,s1调用set()方法,s1就是当前对象。
此时s1对象的对象变量name就与set()方法的局部变量区分开了
当一个类中定义了同名的成员变量和局部变量,而在成员方法中通过直接变量名去操作该名称变量时,编译器会依据就近访问原则,优先访问成员方法自己内部的该名称的局部变量。
使用this关键字来区分同名的成员变量和局部变量,this.变量 就表示当前对象的成员变量。哪个对象正在调用this所处的成员方法,那么this就代表哪个对象。
2)this代表构造器
this(参数);通过参数来判断代表的是哪个构造器,其实就是构造器的重载。