【问题标题】:How to use static method variables in other static methods in Java?如何在 Java 的其他静态方法中使用静态方法变量?
【发布时间】:2013-11-28 00:33:16
【问题描述】:

我在静态方法中声明和初始化一个变量。如何在另一个静态方法中使用此变量?我试图通过静态方法的名称来调用变量。

【问题讨论】:

  • 向我们展示您的尝试,然后我们可以从那里开始。
  • 您不能在一种方法中使用在另一种方法中声明的变量。

标签: java variables methods static


【解决方案1】:

如何使用在一个静态变量中声明和初始化的变量 方法并在另一个静态方法中使用它?

你不能。因为变量的作用域只属于声明的方法。

另一种方法是将variable 作为类变量,然后所有方法都可以使用这个variable

public class Test {

private static int variable;

public static void method1(){
   variable++;
}

public static void method2(){
   variable--;
}


}

注意是否有多个线程访问这些方法。

【讨论】:

  • 我们不知道 java 中的 'global' ;)
  • @Salandur global as in not-local.
  • 非本地也不是一个很好的措辞。但是编辑后的版本,类变量,是一个很好的版本。
  • 这个答案确实提供了另一种选择,但我认为您还应该提到,您无法从另一种方法访问在一种方法中声明的局部变量——这正是 OP 正在寻找的。
  • @user16547 你没看错,现在它似乎是一个更好的答案:D
【解决方案2】:

你不能,因为如果你在一个方法中声明这个变量是本地的,你必须声明为全局变量并在方法中初始化。

【讨论】:

    【解决方案3】:

    您必须在方法之外拥有变量,并使其成为静态变量。

    例如: 公共静态 int accessMeOutside = 0;

    public static void methodOne(){
         accessMeOutside = 1;
    }
    
    public static void methodTwo(){
        if(accessMeOutside == 1)
           accessMeOutside = 2;
    }
    

    如果你调用 methodOne,那么 methodTwo,accessMeOutside 最终会被正确设置为 2。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-10-08
      • 1970-01-01
      • 2011-05-30
      相关资源
      最近更新 更多