Я пытаюсь incriment значения числа на 1.Как вы изменяете значение метода геттера, находящегося внутри объекта?
public void move(){
for (Entity e:entities){
e.getX()+1;
}
Я пытаюсь incriment значения числа на 1.Как вы изменяете значение метода геттера, находящегося внутри объекта?
public void move(){
for (Entity e:entities){
e.getX()+1;
}
Вы должны определенный установщик в вашем Entity
классе.
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.setX(e.getX()+1);
}
}
Я думаю, что вы действительно хотите использовать метод setter. Псевдокод будет выглядеть как 'e.setX (e.getX() + 1)' – gitsitgo
Java - это * pass-by-value *. Когда вы используете метод getter (accessors), возвращается только значение, а не фактическая переменная. Вы не можете изменять переменную через getter; это причина, по которой многие люди используют их. Вот почему у нас есть [сеттеры] (http://en.m.wikipedia.org/wiki/Mutator_method) (мутаторы) –