Java 如何更改实体中getter方法的值?

Java 如何更改实体中getter方法的值?,java,class,arraylist,Java,Class,Arraylist,我想用1来证明一个数字的值 public void move(){ for (Entity e:entities){ e.getX()+1; } 您需要在实体类中定义一个setter public void setX(int x) { this.x = x; } 那你就可以了 public void move() { for(Entity e:entities) e.setX(e.getX() + 1); } 您不

我想用1来证明一个数字的值

public void move(){
    for (Entity e:entities){ 
           e.getX()+1;
      }

您需要在
实体
类中定义一个setter

public void setX(int x)
{
    this.x = x;
}
那你就可以了

public void move()
{
    for(Entity e:entities)
        e.setX(e.getX() + 1);
}

您不能直接从getter中修改值,因为它返回值而不是引用。

您不能这样更改属性。您必须使用setter:

public void move() {
  for (Entity e: entities){
    e.setX(e.getX()+1);
  }
}

我认为您真正想要做的是使用setter方法。伪代码类似于
e.setX(e.getX()+1)
Java是按值传递的。使用getter方法(访问器)时,只返回值,而不返回实际变量。不能通过getter修改变量;这是很多人使用它们的原因。这就是为什么我们有(变异基因)