Java 如何更改实体中getter方法的值?
我想用1来证明一个数字的值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); } 您不
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修改变量;这是很多人使用它们的原因。这就是为什么我们有(变异基因)