this

在每个对象创建时,java虚拟机都会分配对应的this,即所有对象都有自己的this引用,这个this指向对象自己。

大致原理可以这样理解

先看一段代码

 

public class Test{
  public static void main(String[] args) {
    Person a = new Person();
    a.person("谷爱凌",19);
  }
}


class Person{
      int age;
      String name;
  public void person(String name ,int age){
    this.name = name;
    this.age = age;
  }
}

该代码在jvm内存大致如下

这样当person方法里用到属性(name,age)时,用this就能访问类中的name,age,以此和方法的形参区别开来,否则,因为作用域这个机制,你的方法的形参不能取和属性同样的名称,将很不方便

 

 

this注意事项和细节

1.this可以访问类中的属性,方法和构造器

2.this访问构造器的语法:this(参数列表)ps:只能在this指向的对象中的一个构造器中访问this指向的对象的另一个构造器时用

3.this只能在类定义的方法内部使用,不能在;类定义外部使用。

posted @ 2022-02-21 17:38  codemelo  阅读(64)  评论(0)    收藏  举报