this关键字在java中通常指当前对象。但是this其实还有几种延伸的用法,下面使用例子一一展示。
//1.this代表当前对象
class A{
int i=10;
void func(){
System.out.println(this.i);
}
}
//1.1this代表对象--内部类中this的使用
class outter{
int p;
class inner{
int p;
//写一个方法判断两个成员变量是否相同
boolean isSame(){
//在内部类中,只能通过外部类名加.this的方式访问到外部类,因为内部类依存于外部类
if(this.p==outter.this.p)
return true;
return false;
}
}
}
//2.构造器的相互调用
class A{
A(){
System.out.println("A()已被调用");
}
A(int i){
this();
System.out.println("A("+i+")已被调用")
}
}
//3.用来区分成员变量与局部变量
class A{
int x=10;
void setNumber(int x){
this.x=x;
}
void getNumber(){
System.out.println(x);
}
}
tips:this只能在非静态的代码中使用。this只和特定的对象关联,不和具体的类关联,不同的对象具有不同的this。