0

我在一个 java 应用程序中有多个类,每个类都有一个 main 函数。我目前必须手动开始每个课程。有没有可能以特定顺序将它们一起运行的方法。因此,当一节课结束时,第二节课会自动开始。我想制作一个可执行文件,但不知道从哪里开始以及如何使用多个主要功能来做到这一点。

4

5 回答 5

2

假设你想从 A、B 和 C 运行主要功能。所以写另一个类(比如 D)

public static void main(String args[]) {
    A.main(args);
    B.main(args);
    C.main(args);
}

然后运行 ​​D 类。

于 2013-11-01T22:05:07.753 回答
1

编写一个简单的脚本(*.bat 或 *.sh)来一个接一个地运行你的类怎么样:

java -cp myJar.jar  com.foo.mainClass1
java -cp myJar.jar  com.bar.mainClass2
java -cp myJar.jar  com.baz.mainClass3
// and so on
于 2013-11-01T22:06:51.207 回答
0

一种解决方案可能是这个:

interface App
{
     public void execMain(String args[]);
}

class MyApp1 implements App
{
  public void execMain(String args[])
  {
     // Stuff for  App1
  }
}

class MyApp2 implements App
{
  public void execMain(String args[])
  {
     // Stuff for  App2
  }
}

//...

最后是你的 Main :

public class Main
{
  // The list of apps
  private static App apps[] = new App[]
  {
     new MyApp1(),
     new MyApp2(),
     // ...
  }

  public static void main(String args[])
  {
    for(App a : apps)
    {
      a.execMain(args);
    }
  }
}

通过这种方式,您可以轻松添加要执行的其他应用程序。

于 2013-11-01T22:13:38.257 回答
0

主要方法只是调用的方法main。如果您想按顺序调用它们,我将创建一个 main 方法,该方法按所需的顺序调用每个方法。

class ClassA {
    public static void main(String... args) {
        ClassB.main(args);
        ClassC.main(args);
        ClassD.main(args);
    }
}
于 2013-11-01T22:06:22.567 回答
0

您可以简单地从一个类中调用其他类的主函数。您可以决定您的顺序,例如 Class A 调用 Class B 的 Main 。

于 2013-11-01T22:06:41.693 回答