this是JAVA的一个关键字,表示某个对象。this可以出现在实例方法和构造方法中,但不可以出现在类方法中(方法前面带有static的为类方法,例如static float jerry(){....})
1、在构造方法中使用this
this关键字出现在类的构造方法中时,代表使用该构造方法所创建的对象
2、在实例方法中使用this
实例方法只能通过对象来调用,不能用类名来调用。当this关键字出现在实例方法中时,this就代表正在调用该方法的当前对象。
实例方法可以操作类的成员变量,当实例成员变量在实例方法中出现时,默认的格式是:this.成员变量;
当static成员变量在实例方法中出现时,默认的格式是:类名.成员变量;
例如:class A{
int x;
static int y;
void f(){
this.x = 100;
A.y=200;
}
}
当一个对象调用方法时,方法中的实例成员变量就是指分配给该对象的实例成员变量,而static变量和其他对象共享,因此通常情况下,可以省略实例成员变量名字前面的“this.”和static变量前面的“.类名”。
但是当实例成员变量的名字和局部变量的名字相同时,成员变量的前面“this.”或“类名.”就不可以省略。
注:this不能出现在类方法中,是因为类方法可以通过类名直接调用,这时,可能没有任何对象诞生。