面向对象-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就等于s中所存储的地址值