我知道这可能对我来说很愚蠢,但是我花了几个小时来解决这个小问题。
基本上,我有2个对象使用相同的ArrowControl类:
public class ArrowControl extends BoundaryBox{
private static float value = 0;
public ArrowControl() {}
public float getValue() {
return value;
}
public void setValue(float newValue) {
value = newValue;
}
}
但是,当我在另一个这样的类中使用它们时:
public Panel(Context context, AttributeSet attrs) {
ArrowControl upControl = new ArrowControl();
ArrowControl downControl = new ArrowControl();
upControl.setValue(1);
//upControl.getValue() == 1
downControl.setValue(2);
//upControl.getValue() == 2
}
每当设置为upControl.getValue()等于1时,我就登录。然后在设置downControl之后再次登录时,upControl.getValue()等于downControl.getValue()等于。
有人知道为什么或如何解决此问题吗?
最佳答案
因为您已将其定义为静态。
private static float value = 0;
因此,这两个实例共享它。
关于java - 共享重复方法的单独对象,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/20749005/