静态变量不会返回Java中的预期

时间:2014-07-06 12:14:10

标签: java static

我有一个包含静态变量但没有返回我预期的类。

public class helper {
    public static int a = 5;
}

此类到达静态变量并更改它。

public class alistirma {
    public static void main(String args[]){
        System.out.println(helper.a);
        helper.a += 3;
        System.out.println(helper.a);
    }   
}

但是我希望这段代码返回8,但它返回5.

public class dummy {
    public static void main(String[] args) {
        System.out.println(helper.a);
    }
}

2 个答案:

答案 0 :(得分:4)

每次运行程序时,一切都从头开始。除非您在 dummy 中的main方法之前调用 alistirma 中的main方法,否则您将获得 helper.a 的初始值。

答案 1 :(得分:0)

您有两个公共static void Main(String args []){}函数,因此请删除其中一个。也许将你的alistirma类更改为:

public class alistirma {
public static void changeValue{
    System.out.println(helper.a);
    helper.a += 3;
    System.out.println(helper.a);
}   

}

然后,让你的虚拟类调用alistrima的changeValue方法。

public class dummy {
public static void main(String[] args) {
    alistirma.changeValue();
    //System.out.println(helper.a); don't need this now
}

}