我在静态方法中声明并初始化变量。如何在另一个静态方法中使用此变量?我试图通过静态方法的名称来调用变量。
答案 0 :(得分:4)
如何使用在一个静态中声明和初始化的变量 方法并在另一个静态方法中使用它?
你不能。导致变量的范围仅属于声明的方法。
另一种方法是将variable
作为类变量,然后所有方法都可以使用此variable
。
public class Test {
private static int variable;
public static void method1(){
variable++;
}
public static void method2(){
variable--;
}
}
如果多个线程访问这些方法,请注意。
答案 1 :(得分:0)
你不能,因为如果你在一个方法中声明这个varible local,你必须声明为全局变量并在方法中初始化。
答案 2 :(得分:0)
你必须在方法之外使用变量并使其保持静态。
例如: public static int accessMeOutside = 0;
public static void methodOne(){
accessMeOutside = 1;
}
public static void methodTwo(){
if(accessMeOutside == 1)
accessMeOutside = 2;
}
如果你调用methodOne,那么methodTwo,accessMeOutside将最终正确设置为2。