就近原则与this关键字
this的内存原理(黑马课程)
面向对象-09-this的内存原理_哔哩哔哩_bilibili
就近原则(谁离我近我就用谁)
我们知道,this是”这个“的意思。在java中表示当前类的对象,可以理解成指向对象本身的一个指针。通俗地说就是表示当前类对象”自己“,它是在对象被创建时自动产生的。我们使用this,可以用来调用本类的属性、方法、构造方法。当我们在构造方法中使用this时,this表示的是当前类的成员变量。
public class Student{
private int age;
public void methoc(){
int age = 10;
System.out.prinln(age);
System.out.println(this.age);
}
}
public class StudentTest{
public static void main(String[] args){
Student s = new Student();//因为s是通过new关键词从堆中开辟的一个空间返回的一个地址,所以s中存储的是一个地址值
s.method();
}
}
age会遵循就近原则,先在局部位置找age变量再去成员位置找age变量所以会打印10。 this.age不遵守就近原则,直接在成员位置找age变量,所以会打印0。
this关键字的作用
用来区分成员变量与局部变量。
this的本质
所在方法调用者的地址值。,所以this也就相当于一个指针变量。打个比方,就如上面代码中的this就等于s中所存储的地址值