利用关键字this从任何方法或者构造器引用当前的对象。例如:如果有一个类级域与一个局部变量同名,可以利用下面的语法引用前者:this.field
一种常见的用法是在接受将域初始化的值得构造器中。
public class Box
{
int length;
int width;
int height;
public Box(int length,int width,int height)
{
this.length=length;
this.width=width;
this.height=height;
}
}
Box类有三个域:length、width和height。它的构造器接受三个参数,用来将域初始化。用length、width和heght作为参数名称十分方便,因为他们的名称很直观。在构造器中,length引用length参数,而不是length域。this.length引用类级的length域。
也可以修改参数名称:
public Box(int lengthArg, int widthArg, int heightArg)
{
length=lengthArg;
width=widthArg;
height=heightArg;
}
这样,类级域就不会被局部变量遮盖住,也不需要利用关键字this引用类级域,但是,利用关键字this可以不必为方法或者构造器参数考虑不同的名称。
|