2013-02-09 56 views
0

Java新手在这里!我需要创建一个Java方法,以保持传递给它的值的总数。但是,如果我使用局部变量并继续初始化它,我将失去运行平衡。有没有解决的办法?本地变量未初始化catch-22

回答

2

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

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是面向对象的,因此不允许。

0

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