局部变量未初始化catch-22

时间:2013-02-09 15:09:06

标签: java

Java新手在这里!我需要创建一个Java方法来保持传递给它的值的总计。但是,如果我使用局部变量并继续初始化它,我将失去我的运行平衡。有办法解决这个问题吗?

3 个答案:

答案 0 :(得分:2)

使用该类的成员变量。如果要计算传递给类的所有对象的值,请使用静态变量。

答案 1 :(得分:2)

是..声明一个字段。

public class Summation{

    private int total;

    public void sumUp(int n){
        total += n;
   }
}

如果您感兴趣,可以使用其他语言(如C / C ++) 来执行此操作:

 void sumUp(int n){
    static int total = 0; 
    total+=n;

 }

这可确保total声明一次,然后在sumUp的后续调用中将其添加。由于Java是面向对象的,因此不允许使用。

答案 2 :(得分:0)

好的Lews已经回答了。但是,当你是新手时,请理解它背后的逻辑。所有局部变量都存储在堆栈中,当线程从方法中出来时被破坏,而实例变量存储在堆中,这将保留对象生命的生命周期。它应该可以帮助您理解java的其他基础知识