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