以下代码可同时运行
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;
}