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只能在类定义的方法内部使用,不能在;类定义外部使用。