上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人
2.1.5 this关键字
因为有时方法需要调用该方法本身所属对象,为此Java定义了this关键字。在程序中,可以在任何方法内使用this来引用当前的对象,this就指向了这个对象本身。
归纳起来,this的使用场合有以下几种:
(1)访问当前对象的数据成员。其使用形式如下:
this.数据成员
下面的示例就是借助this来访问Rectangle类的实例变量width和length:
// 调用当前对象的成员变量 System.out.println("长:"+this.length+"\t宽:"+this.width);
(2)访问当前对象的成员方法。其使用形式如下:
this.成员方法
// 调用当前对象的成员方法
System.out.println("长方形的面积是:"+this.area());
【例2-3】 在【例2-2】的基础上修改Rectangle类的构造方法,使其形式参数与成员变量名称相同,实现同样功能。
因为this可以直接引用这个对象,那么this.就表示要使用这个对象中的成员,这样就解决了实例变量和局部变量可能出现的名字空间冲突问题。
public class Rectangle{ double length; // 长 double width; // 宽 // 带参构造方法,用于初始化长方形的长和宽 Rectangle(double width, double length){ this.width=width; //this关键字表示当前对象 this.length = length; } // 求长方形的面积 double area(){ return this.length*this.width; } // 打印输出 void display(){ // 调用当前对象的成员变量 System.out.println("长:"+this.length+"\t宽:"+this.width); // 调用当前对象的成员方法 System.out.println("长方形的面积是:"+this.area()); } } public class RectangleDemo{ public static void main (String args[]){ // 调用带参构造方法 Rectangle rect1 = new Rectangle(10,20); rect1.display(); // 调用对象rect1的成员方法 } }
该程序的运行结果如下:
长:20.0 宽:10.0 长方形的面积是:200.0