**this关键字的作用:**用于区分成员变量和局部变量之间的重名问题
第一张图:
当方法的局部变量和类的成员变量重名的时候,系统是区分不了哪个是成员变量,哪个是局部变量的,于是就会根据“就近原则”,谁距离方法的参数近,就优先使用谁。如下图所示,虽然我们创建对象stu2时调用了有参构造函数,但是这里系统区分不了哪个name是成员变量,哪个name是方法里的局部变量。但是局部变量距离参数近,系统就会默认这个name是局部变量name。这时当我们查询输出stu2的成员变量时,发现成员变量的值为空,显然没有赋值成功。
第二张图:
如果需要访问本类当中的成员变量,就需要使用格式:this.成员变量名
我们再看下面这张图,当我们给成员变量前面都加了this.的时候,这时系统就能分辨哪个是成员变量哪个是局部变量了。这时查询输出stu2的成员变量时,发现赋值成功。