Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/396.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 局部变量未初始化catch-22_Java - Fatal编程技术网

Java 局部变量未初始化catch-22

Java 局部变量未初始化catch-22,java,Java,这里是Java新手!我需要创建一个Java方法,该方法保持传递给它的值的运行总数。但是,如果我使用局部变量并不断初始化它,我将失去运行平衡。有办法解决这个问题吗?使用类的成员变量。如果要计算传递给类的所有对象的值,请使用静态变量。使用类的成员变量。如果要计算传递给类的所有对象的值,请使用静态变量。是。。声明一个字段 public class Summation{ private int total; public void sumUp(int n){ tota

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

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

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

是。。声明一个字段

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
声明一次,并在后续调用
summap
时将其相加。因为Java是面向对象的,所以它是不被允许的。

是的。。声明一个字段

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
声明一次,并在后续调用
summap
时将其相加。因为Java是面向对象的,所以它是不被允许的。

好吧,路易斯已经回答了这个问题。但作为新手,请理解其背后的逻辑。所有局部变量都存储在堆栈中,当线程从方法中出来时,堆栈会被销毁,而实例变量则存储在堆中,堆将在对象生命周期内保持不变。它应该可以帮助您理解java的其他基础知识。Lews已经回答了这个问题。但作为新手,请理解其背后的逻辑。所有局部变量都存储在堆栈中,当线程从方法中出来时,堆栈会被销毁,而实例变量则存储在堆中,堆将在对象生命周期内保持不变。它应该帮助您理解java的其他基础知识