学习视频来源于B站黑马程序员,感谢帮助~
成员变量:定义在方法外面、类的里面
局部变量:定义在方法里面
e.g:
public class boy{
//该age为成员变量
private int age;
public void method(){
//该age为局部变量
int age=10;
System.out.println(age)
}
}
就近原则:谁离得近就用谁。在上述代码中,打印出来的是10,用的是局部变量,如果System.out.println想要调用成员变量,就需要加this,如下:
public class boy{
private int age;
public void method(){
int age=10;
System.out.println(this.age);
}
}
两段代码运行结果分别对应:10、0;
在上图中,this.name=name;这句话里,等号右端的name指代的是上一行public void setname(String name){}中的name,而等号左端的name前方加了this.,所以指代的是private String name中的name。
综上,
1.就近原则:System.out.println(age);
System.out.println(this.age);
第一句话是先到局部位置寻找AGE,如果局部位置存在AGE,那么它使用的就是局部位置的AGE,如果没有,就会到成员位置去寻找AGE,下面的代码中直接使用成员变量中的AGE;
2.this关键字的作用:可以区分成员变量的局部变量
3.this的本质和内存图:(待补充)