Java - 什么时候"这个"是唯一的出路?

MdT*_*MdT 0 java setter class object this

var = putVar;以下代码运行 ; & this.var = putVar;

我理解:"this"用于识别 - "将此值仅用于'我的'对象".当两者都有效时,为什么人们通常在制定者中使用"这个"?

码:

public class PlayingWithObjects
{
    public static void main(String[] args)
    {
        SomeClass classObj = new SomeClass(10);

        System.out.println("classObj.getVar: " + classObj.getVar() );

        classObj.setVar(20);

        System.out.println("classObj.getVar: " + classObj.getVar() );

        classObj = new SomeClass(30);

        System.out.println("classObj.getVar: " + classObj.getVar() );
    }
}

class SomeClass
{
    private int var;

    public SomeClass(int putVar)
    {
        var = putVar;
    }

    public int getVar()
    {
        return var;
    }

    public void setVar(int putVar)
    {
//      var = putVar;           // also works
        this.var = putVar;
    }
}
Run Code Online (Sandbox Code Playgroud)

我能正确理解"这个"吗?"这个"在哪里使用,不能更换.请发一些代码.

ktm*_*124 7

因为人们喜欢为方法参数和实例变量使用相同的变量名称 - 在这种情况下,您需要this区分.

public void setX(int x) {
    this.x = x;
}
Run Code Online (Sandbox Code Playgroud)