我不太了解Java中“ this”的用法。如果有人可以帮助我澄清一下,我将不胜感激。
在此网站上显示:http : //docs.oracle.com/javase/tutorial/java/javaOO/thiskey.html
“在实例方法或构造函数中,这是对当前对象的引用,该对象是正在调用其方法或构造函数的对象。使用此方法,您可以从实例方法或构造函数中引用当前对象的任何成员。 ”
并给出以下示例:
例如,Point类是这样写的
public class Point { public int x = 0; public int y = 0; //constructor public Point(int a, int b) { x = a; y = b; } }
但是它可能是这样写的:
public class Point { public int x = 0; public int y = 0; //constructor public Point(int x, int y) { this.x = x; this.y = y; } }
但是,我仍然不完全理解为什么x = a可以写成this.x = x?为什么不是this.x = a?为什么x在左侧?
对不起,但是我对Java很陌生。对于无聊的专家,我深表歉意。
如果定义了一些与对象属性名称相同的变量/参数,则该变量/参数将“重叠”该属性的名称,因此应使用this.var_name。
是的,它可以写为this.x = a,但是有些多余。
this.x = a