小编典典

有人可以向我详细解释“ this”的用法吗?

java

我不太了解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很陌生。对于无聊的专家,我深表歉意。


阅读 184

收藏
2020-11-30

共1个答案

小编典典

如果定义了一些与对象属性名称相同的变量/参数,则该变量/参数将“重叠”该属性的名称,因此应使用this.var_name。

是的,它可以写为this.x = a,但是有些多余。

2020-11-30