我可以在其他类中使用main中声明和赋值的变量吗?

时间:2014-05-10 02:21:35

标签: java

我试图从另一个类访问主类中的变量。我不知道是否可能,但我需要这些变量。如果有办法请告诉我。这是一个简单的例子。

public class A(){

      public static String status;

      public static void main(String [] args){

           Scanner s = new Scanner(System.in);
           System.out.println("Deadlock or no deadlock (y/n)");
           status = s.nextline();

           ......

}

然后我想在另一个实现runnable(thread)的类中使用这个变量“status”。如果状态为“y”,则运行方法中的特定代码块(if / else)将执行。

任何人都指出我如何调用主类,以便我可以从我的跑步者类中访问变量状态。感谢。

2 个答案:

答案 0 :(得分:2)

班级status中的字段A是公开的和静态的,因此您可以随时随地拨打电话。

public class B {
    public void myMethod() {
        System.out.println("A's status is " + A.status);
    }
}

术语上的一点:A这里是一个表示对象的类。 main恰好是该班级A内的一种方法。因此,您要说status属于A,而不属于main

答案 1 :(得分:0)

没有java传递值而不是通过引用传递。您可以按照我链接的示例进行操作,看看是否有帮助。link您可以将其设置为静态,并且可以使用它,但是当您执行任何操作时,对它的任何操作都会改变静态的。