从一个 class 的主方法调用,另一个 class 的主方法

Call from a main of one class, a main method of another class

我有两个轴承 classes - 一个 GUI 一个和一个服务器。它们都有 main() 方法。单击 'connect' 按钮(来自 class GUI)时,我想从其 main() 函数开始启动 class 服务器中的所有进程。我完全可以这样做吗?有什么办法可以避免吗?

我已经厌倦了: - 删除服务器 class 的 main(String[] args) 部分,将其重命名为 initServer 然后通过 GUI 说

Server kb = new Server();
kb.initServer();`

这就是我现在所拥有的一切,当单击“连接”按钮时,它的事件发生了,但所有服务器检查都没有出现在命令行中。

您在找这样的东西吗?

Test.java

public class Test {
    private void run() {
        new Test2();
    }

    public static void main(String[] args) {
        Test t = new Test();
        t.run();
    }
}

Test2.java

public class Test2 {
    Test2() {
        System.out.println("Hi");
    }
}

哪里函数run()在第一个class执行时,执行第二个class?在您的情况下,您将使用 ActionListener 执行此操作,第二个 class 将启动您的服务器

但要正确回答问题,如何从另一个 class 调用 main?,您可以这样做:

Test.java

public class Test {
    private void run() {
        new Test2().main(null);
    }

    public static void main(String[] args) {
        Test t = new Test();
        t.run();
    }
}

Test2.java

public class Test2 {
    public static void main(String[] args) {
        System.out.println("Hi");
    }
}