java - 如何将一个类的 main 方法中定义的变量转移到另一个类的 main 方法中?

标签 java class

我在很多程序中都看到过这样做,但我似乎无法遵循编程逻辑。

假设您有一个简单的类,ClassB。在 ClassB 的 main 方法中定义一个整型变量:

public class B {
    public static void main(String[] args) {
        int stuff = 333;
    }
}

如何将变量传输到不同的类(例如 ClassA)以供使用。

public class A {
    public static void main(String[] args) {    
        System.out.println(stuff);
    }
}

有人可以简单地向我解释一下吗?我花了两个小时试图学习这个,但无法理解它。

最佳答案

public static void main(String[] args) 旨在用作 Java 程序的起点。也许最好将您的方法之一重命名为其他名称。

您看到的问题是变量 int stuff 的范围仅限于类 Bmain() 方法,因为它是在 main() 方法体内声明的。为了使其可见,您需要将其声明为公共(public)字段(在您的情况下可以是静态的)。

我建议你改变你的程序如下:

public class A {

    public static int stuff;

    public static void initStaticMembers() {
        stuff = 333;
    }

}
public class B {

    public static void main(String[] args) {

        A.initStaticMembers();

        System.out.println(A.stuff);

    }

}

我将 Amain() 方法重命名为 initStaticMembers() 并删除了方法参数,因为我们不需要它们案件。为了使用B中的字段A.stuff,需要首先调用方法A.initStaticMembers()

当然有很多方法可以改进这个程序,但我认为你应该一步一步地学习 Java。

关于java - 如何将一个类的 main 方法中定义的变量转移到另一个类的 main 方法中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33985840/

相关文章:

java - 无法从服务类加载 ServletContextHandler 上的 contextConfigLocation 类

java - 从类对象的方法接收空指针异常

c# - 如果类是对象的蓝图,那么静态类呢?

javascript - 多个类之间可以共享数据吗?

c++ - 字段的类型不完整 C++

Java 无法设置对象的属性

java - 如何将观察者模式与 jms 接收器一起应用

java - 如何在spring webflow中实现Switch/if else if语句?

c# - 在 C# 中处理来自父窗体的窗体?

java - 将整数传递给 Servlet