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