this关键字之前,我们先来看看下面的一段代码:

public class Test {
	private String name;
	public String getName() {
		return name;
	}
	public void setName(String name) {
		this.name = name;
	}
}

  显然这是一段对Test类进行封装的代码,我们可以发现这段代码当中出现了this关键字。假如我们并不清楚this关键字的作用,我们可以试着先把这段代码当中的this关键字去掉,然后看看会发生什么变化。不难发现,当去掉this关键字之后,这段代码仍然可以编译通过,也就是说代码没有语法错误,接着再分析一下整段代码,Test类有一个属性名叫做name,实例方法setName的形参名也叫做name,我们可以大胆预测一下,这里的this就是起的指代的作用,也就是要将这两个name给区分开来。
  在Java语言中规定使用this关键字来代表本类对象的使用,this关键字被隐式地用于引用对象的成员变量和方法。比如在上面的代码中,this.name指的是Test类中的name成员变量,而this.name = name;语句中的第二个name则指的是形参name。
关于this关键字我们需要掌握的内容是:

  1. this是一个关键字,是一个引用,保存内存地址指向自身;
  2. this关键字可以出现在实例方法和构造方法当中,出现在实例方法当中其实代表的是当前对象;
  3. this的语法有:this.this()
  4. this.在大部分情况下是可以省略的,但是在区分局部变量和实例变量的时候不能省略;
  5. this()只能出现在构造方法非注释语句的第一行;
  6. 通过当前的构造方法去调用“本类”中其它的构造方法,目的是代码复用;
  7. this关键字不能使用在静态方法当中;
  8. this除了可以调用成员变量或成员方法外,还可以作为方法的返回值。