this是java中一个比较令人纠结的一个关键字。
何为this呢?this =>指向当前对象的引用。怎么去理解这个定义呢?下面通过一个java内存分配图来理解这个this:
public class Test{
int x;
public void show(int x){
this.x=x
System.out.println(x)
}
public staic void main(String[] args){
<span style="white-space:pre"> </span> Test t=new Test();
<span style="white-space:pre"> </span> t.show(5);
<span style="white-space:pre"> </span> Test t1=new Test();
t1.show(6);
}
}<img src="https://img-blog.csdn.net/20141024231757020?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvdGFvanVuXzMyMQ==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast" alt="" />
每一个类的成员方法中都存在一个this的存储区,但这个类的实例调用这个方法时会自动在this中保存当前这个对象的引用。