我有一个带有变量x的GridPosition类。当我尝试使用增量X轴方法中的this.x + 1来递增x的值时,则它不会在getter方法中更新值。 我必须执行this.setter(x)以更新x的值。 根据我的理解,这是当前对象,所以如果我这样做,x + 1应该可以工作并在我调用getter时返回更新后的值。
package com.robot.prob;
public class GridPosition {
int x;
public GridPosition(int x, int y, String f) {
super();
this.x = x;
}
public int getX() {
return x;
}
public int incrementXaxis(){
return this.x+1;
}
}
请澄清。谢谢。
答案 0 :(得分:2)
return this.x+1
表示返回x +1的值,但对x值没有影响。
改为使用return ++x
,它将为x加1并返回x的值。
答案 1 :(得分:1)
public int incrementXaxis() {
return ++x;
}
答案 2 :(得分:1)
之所以发生这种情况,是因为您没有增加this.x
的值,而只是返回了this.x
所保持的加1的值。
因此将其更改为此:
public int incrementXaxis(){
return ++x;// x is the variable which will be accessed by `this` over here.
// hence it will increment the value of x and then return it.
}