如何在Java中的其他静态方法中使用静态方法变量?
我在静态方法中声明并初始化一个变量。如何在另一个静态方法中使用此变量?我试着用静态方法的名称调用变量。你不能,因为如果你在一个方法中声明这个变量是局部的,你必须声明为全局变量,并在方法中初始化。你不能,因为如果你在一个方法中声明这个变量是局部的,你必须声明为全局变量,并在方法中初始化 如何使用在一个静态文件中声明和初始化的变量 方法,并在另一个静态方法中使用它 你不能。原因变量的作用域仅属于声明的方法 另一种方法是将如何在Java中的其他静态方法中使用静态方法变量?,java,variables,methods,static,Java,Variables,Methods,Static,我在静态方法中声明并初始化一个变量。如何在另一个静态方法中使用此变量?我试着用静态方法的名称调用变量。你不能,因为如果你在一个方法中声明这个变量是局部的,你必须声明为全局变量,并在方法中初始化。你不能,因为如果你在一个方法中声明这个变量是局部的,你必须声明为全局变量,并在方法中初始化 如何使用在一个静态文件中声明和初始化的变量 方法,并在另一个静态方法中使用它 你不能。原因变量的作用域仅属于声明的方法 另一种方法是将变量作为类变量,然后所有方法都可以使用该变量 public class Test
变量
作为类变量,然后所有方法都可以使用该变量
public class Test {
private static int variable;
public static void method1(){
variable++;
}
public static void method2(){
variable--;
}
}
如果多个线程访问这些方法,请小心
如何使用在一个静态文件中声明和初始化的变量
方法,并在另一个静态方法中使用它
你不能。原因变量的作用域仅属于声明的方法
另一种方法是将变量
作为类变量,然后所有方法都可以使用该变量
public class Test {
private static int variable;
public static void method1(){
variable++;
}
public static void method2(){
variable--;
}
}
如果有多个线程访问这些方法,请小心。您必须将变量置于方法之外,并将其设置为静态 例: 公共静态int-accessMeOutside=0
public static void methodOne(){
accessMeOutside = 1;
}
public static void methodTwo(){
if(accessMeOutside == 1)
accessMeOutside = 2;
}
如果调用methodOne,然后调用methodTwo,accessMeOutside将正确地设置为2。您必须将变量设置在方法之外,并将其设置为静态 例: 公共静态int-accessMeOutside=0
public static void methodOne(){
accessMeOutside = 1;
}
public static void methodTwo(){
if(accessMeOutside == 1)
accessMeOutside = 2;
}
如果你叫methodOne,那么叫Method2,accessMeOutside最终将正确设置为2。向我们展示您尝试过的内容,然后我们可以从中继续。您不能在一个方法中使用在另一个方法中声明的变量。向我们展示您尝试过的内容,然后我们可以从中继续。您不能在一个方法中使用在另一个方法中声明的变量。我们不知道其中的“全局”java;)@Salandur global在not-local.not-local也不是一个很好的措辞。但是编辑过的版本,class variable,是一个很好的版本。这个答案确实提供了另一种选择,但我认为您还应该提到,您不能从另一个方法访问在一个方法中声明的局部变量-这正是OP想要的。@user16547您做得对,现在,这似乎是一个更好的答案:DWe不知道java中的“全局”@Salandur global在not-local.not-local也不是一个很好的措辞。但是编辑过的版本,class variable,是一个很好的版本。这个答案确实提供了另一种选择,但我认为您还应该提到,您不能从另一个方法访问在一个方法中声明的局部变量,而这正是OP想要的。@user16547您答对了,现在似乎是一个更好的答案:D