在方法中,可以使用一个关键词this来表示这个对象本身。在普通方法中,this 表示调用这个方法的对象;在构造方法中,this表示新创建的对象
1.使用this来访问对象的字段和方法
例如:方法sayHello中使用name和使用this.name是相同的;
void sayHello(){
System.out.println("Hello!My name is"+name);
}
与
void sayHello(){
System.out.println("Hello!My name is"+this.name);
}
的含义是相同的。
2.使用this解决局部变量与字段同名的问题
使用this 还可以解决局部变量(方法中的变量)或参数变量与字段变量同名的问题。如,在构造方法中,经常这么用:
Person(int age,String neme){
this.age=age;
this.name=name;
}
这里,this.age表示字段变量,而age表示的是参数变量。
3.构造方法中,用this调用另一种构造方法
如:
Person(){
this(0,"");
}
如果,在构造方法中调用另一构造方法 则这条调用语句必须放在第一句。(关于构造方法的更复杂的问题)
4.使用this的注意事项
在使用this时,要注意this指的是调用“对象”本身,不是本“类定义”中看见的变量或方法。
注意:
(1)通过this不仅可以引用该类中定义的域和方法 还可以引用该类的父类中定义的域和方法
(2)由于它指的是对象 所以this不能通过this来引用类变量(static field),类方法(static method)
事实上,在所有的非static方法中,都隐含一个参数this。而static方法中,不能使用 this。