《(17)--4.6 this的用法面向对象程序设计.ppt》由会员分享,可在线阅读,更多相关《(17)--4.6 this的用法面向对象程序设计.ppt(6页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、this 关键字 this是Java的一个关键字,可可以以出出现现在在实实例例方方法法和和构造方法中,但不可以出现在类方法中构造方法中,但不可以出现在类方法中。1在构造方法中使用this this关键字可以出现在类的构造方法中,代代表表使使用用该构造方法所创建的对象该构造方法所创建的对象。例4.10 People 2在实例方法中使用this this关键字可以出现在类的实例方法中,代代表表使使用用该该方方法的当前对象法的当前对象。我们已经知道,实例方法可以操作成员变量。实际上,当当成成员员变变量量在在实实例例方方法法中中出出现现时时,默默认认的的格格式式是:是:this.this.成员变量成员
2、变量;意思是当前对象的成员变量,如:class A int x;void f()this.x=100;在上述A类中的实例方法f中出现了this,this就代表使用f的当前对象。所以,this.x就表示当前对象的变量x,当对象调用方法f时,将100赋给该对象的变量x。因此,当一个对象调用方法时,方法中的成员变量就是指分配给该对象的成员变量。因此,通通常常情情况况下下,可以省略成员变量名字前面的可以省略成员变量名字前面的“this.this.”。我们知道类的实例方法可以调用类的其它方法,调用的默认格式是:this.方法;class Bvoid f()this.g();B.h();void g()S
3、ystem.out.println(“ok”);static void h()System.out.println(“hello”);由于这种逻辑关系非常明确,一个方法调用另一个方由于这种逻辑关系非常明确,一个方法调用另一个方法时可以省略方法名字前面的法时可以省略方法名字前面的“this.this.”。3类方法中不可以使用this this不能出现在类方法中,这是因为,类方法可以通过类名直接调用,这时,可能还没有任何对象诞生。4使用this区分成员变量和局部变量 我们已经知道,成员变量在整个类内有效,局部变量仅在方法内有效。在方法体中声明的变量以及方法的参数称作局部变量,方法的参数在整个方法内有效,方法内定义的局部变量从它定义的位置之后开始有效。如如果果局局部部变变量量的的名名字字与与成成员员变变量量的的名名字字相相同同,则则成成员员变变量被隐藏,即这个成员变量在这个方法内暂时失效。量被隐藏,即这个成员变量在这个方法内暂时失效。如:这这时时如如果果想想在在该该方方法法内内使使用用成成员员变变量量,成成员员变变量量前前面面的的“this.”就不可以省略就不可以省略,