以下代码可同时运行
var = putVar;

this.var = putVar;

我了解:“ this”用于标识-“为此值仅用于“ my”对象”。
当两者都起作用时,为什么人们通常在二传手中使用“ 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;
    }
}


我是否正确理解“这个”? “此”在哪里使用,不能替换。请发布一些代码。

最佳答案

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

public void setX(int x) {
    this.x = x;
}

10-07 15:16