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)
我能正确理解"这个"吗?"这个"在哪里使用,不能更换.请发一些代码.
因为人们喜欢为方法参数和实例变量使用相同的变量名称 - 在这种情况下,您需要this区分.
public void setX(int x) {
this.x = x;
}
Run Code Online (Sandbox Code Playgroud)