目 录 ![](https://i-blog.csdnimg.cn/blog_migrate/483550798d25e1c639618cd5616bf9c9.gif)
一.this关键字![](https://i-blog.csdnimg.cn/blog_migrate/483550798d25e1c639618cd5616bf9c9.gif)
this:
this代表 本类的引用 ,或者是指该类的一个对象,代表着方法的调用者,哪个对象调用的这个方法,方法中的this就代表这个对象.例如set,get 方法中的this:
public class Teacher {
//定义私有成员变量
private String name;
private int age;
//get,set方法中的this就代表了Teacher这个当前类,Teacher这个类调用的name这个属性
public void setName(String name){
this.name=name;
}
public String getName(){
return name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
}
为什么要有this关键字呢?
当我们的局部变量和成员变量相同的时候,如果我们不使用this关键字,那么会导致一个问题:就是局部变量隐藏了成员变量的问题,如下图:
如果加入了this关键字,就会有如下效果:
在非静态方法中,始终隐藏着一个对象this:
public class Test2 {
int num=90;
public void a(){
System.out.println(this.num); //这个this加或者不加都不会报错!
}
}