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



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

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();
           ......
}

然后我想在另一个实现可运行线程的类中使用这个变量"status"。如果status为"y",则run方法中的特定代码块(If/else)将执行。

有人告诉我如何调用主类,这样我就可以从我的跑步者类访问变量状态。谢谢。

A类中的字段status是公共的和静态的,因此您可以在任何您喜欢的地方调用它。

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

关于术语的一点:这里的A是一个类,它代表一个对象。main恰好是该类A中的一个方法。所以你会说status属于A,而不是main

没有java是通过值传递而不是通过引用传递的。你可以按照我链接的例子,看看是否有帮助。你可以把它设置成静态的,这样它就可以使用了,但是当你对它进行任何操作时,它的任何操作都会发生变化,因此是静态的。

最新更新