Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby-on-rails-4/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 共享重复方法的独立对象_Java_Android - Fatal编程技术网

Java 共享重复方法的独立对象

Java 共享重复方法的独立对象,java,android,Java,Android,我知道这可能是我正在研究的非常愚蠢的事情,但我已经花了几个小时研究这个小问题 基本上,我有两个使用相同ArrowControl类的对象: public class ArrowControl extends BoundaryBox{ private static float value = 0; public ArrowControl() {} public float getValue() { return value; } publ

我知道这可能是我正在研究的非常愚蠢的事情,但我已经花了几个小时研究这个小问题

基本上,我有两个使用相同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;

因此这两个实例共享它。

因为您已将其定义为静态

private static float value = 0;

所以这两个实例共享它。

看起来是因为变量是静态的。这意味着在ArrowControl的所有实例中使用相同的控件


将其设为实例变量,这应该会消失。(删除“static”)

看起来是因为变量是静态的。这意味着在ArrowControl的所有实例中使用相同的控件


将其设为实例变量,这应该会消失。(删除“static”)

太尴尬了:(…我怎么没看到that@JaredDrake每个人都会遇到:)祝你好运。太尴尬了:(…我怎么没看见that@JaredDrake每个人都会遇到:)祝你好运。谢谢。真不敢相信我没看到,谢谢。真不敢相信我居然没看到。