对象初始化内存图:
this 是一个关键字,表示对象本身,本质上this中存有一个引用,引用对象本身。
this用于访问本对象属性,同时解决局部变量和成员变量同名的问题(接有参构造中第二种解决方案。。。)
举例代码:
public Dog(String name,int health,int love,String strain){ System.out.println("this:"+this); this.name = name; this.health = health; this.love = love; this.strain = strain; }
public class Test04{ public static void main(String[] args){ Dog dog = new Dog("二狗",100,0,"土狗"); dog.showInfo(); } }
通过打印this中的引用,可以看出对象dog和this指向同一内存。
一般而言,dog用于类的外部,this用于类的内部。因为类的内部根本不知道dog变量名的存在;
好比是类里面的叫形参,外部的就是实参