一---导读
先看一段代码,并分析问题。
public Dog(String dname, int dage) { name = dname; age = dage;
Dog的构造方法,现在传入的形参是dname 和dage,看起来不是特别简洁明了。
那是不是可以直接就把形参改为和属性的名字一样呢?
public Dog(String name, int age) { name = name; age = age; }
//这样虽然不报错,但是左边name和右边name其实是一个东西,都是形参name
这个时候就需要this出场了
// this解决的问题或者说存在的意义就是为了让形参的名和属性里面的一样,但是又能够区分,就用this来区分
public Dog(String name, int age) { this.name = name; this.age = age; }
二--什么是this?
java虚拟机会给每个对象分配this,代表当前对象。
图解this本质:
三---this的注意事项和使用细节
1)this关键字可以用来访问本类的属性,方法,构造器
2)this用于区分当前类的属性和方法
3)访问成员方法的语法:this.方法名(参数列表)
4)访问构造器语法:this(参数列表),注意这个只能在构造器中使用
5)this不能在类定义的外部使用,只能在;类定义的方法中使用
this小结:哪个对象调用,this就代表谁