对象初始化内存图:
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变量名的存在;
好比是类里面的叫形参,外部的就是实参