Следующий код выполняется как для var = putVar;, так и для this.var = putVar;
Я понимаю: «это» используется для идентификации этого - «поставьте это значение только для« моего »объекта». Когда оба работают, почему люди обычно используют «это» в сеттерах?
код:
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;
}
}
Я правильно понимаю "это"? Где «это» используется и не может быть заменено. Пожалуйста, опубликуйте код.
ClassName
), вы можете использоватьClassName.this
для получения экземпляра окружающего объекта. Причина этого (не каламбур) в том, что внутри внутреннего классаthis
будет ссылаться на внутренний класс. - person Tushar   schedule 30.03.2013