this表示当前对象,可以调用类的属性、方法和构造器
我们在创建一个类的构造器时,构造器的形参名字该怎么选择?
class Dog(){
String name;
int age;
}
public Dog(String dName, int dAge){//能否将形参的名字直接改成属性名?
name = dName;
age = dAge;
}
public Dog(String name, int age){//编译器不会报错,但是根据变量的作用域原则(就近原则),构造器的方法体里面的name和age都是局部变量,而不是属性。会导致属性赋值失败。
name = name;
age = age;
}
解决方法:引出this关键字来解决
简单的说,哪个对象调用,this就代表哪个对象
可以认为this相当于对象的隐藏属性,它指向的是自己

this关键字可以用来访问本来的属性、方法、构造器
this用于区分当前类的属性和局部变量
注意:通过使用this可以明确访问的是类的属性而不是对应作用域的其他同名变量


(上面图片的两种方式有区别,但还没学到)

原文:https://www.cnblogs.com/ffforward/p/15168528.html