您好我创建了一个java文件,其中包含两个类 TwoClass 和 TwoClass2 在编译时,它分别为我提供了两个类文件,但我必须分别运行每个类文件。我怎样才能做到这一点 ?我的代码如下:我将此文件保存为 TwoClass.java
class TwoClass{
public static void main(String args[])
{
System.out.println("I am first class");
}}class TwoClass2{
public static void main(String args[])
{
System.out.println("I am Second class");
}}
编译后会生成 TwoClass.class 和 TwoClass2.class 现在,如果我想运行这些文件,请按以下步骤操作:
G:\ ZPREP> javac TwoClass.java
G:\ ZPREP> java TwoClass 我是一流的
G:\ ZPREP> java TwoClass2 我是二等人
G:\ ZPREP>
这里没有任何问题,但我必须单独运行每个文件,所以任何事情都是他们一次运行两个文件???请帮忙。
答案 0 :(得分:3)
不是尝试在命令行中执行它,而是使用第三个类来运行两个线程,每个类一个,因此两个类的main方法将同时运行,使用相同的args
;像这样的东西:
class TwoclassMain {
public static void main(final String ... args) {
Runnable runnableOne = new Runnable {
public void run() { TwoClass.main(args); }
}
Runnable runnableTwo = new Runnable {
public void run() { TwoClass2.main(args); }
}
Thread one = new Thread(runnableOne);
Thread two = new Thread(runnableTwo);
one.start();
two.start();
one.join();
two.join();
}
}
免责声明:我没有编译并运行这个例子,只是为了表明一般的想法。
更新:使用Java 8的相同想法:
class TwoclassMain {
public static void main(final String ... args) {
Thread one = new Thread(() -> TwoClass.main(args));
Thread two = new Thread(() -> TwoClass2.main(args));
one.start();
two.start();
one.join();
two.join();
}
}
答案 1 :(得分:2)
在命令行上,您可以使用&&
链接命令。每个命令成功完成后,下一个命令将运行。如,
javac TwoClass.java && java TwoClass && java TwoClass2
或者您可以使用一个main
方法调用另一个:
class TwoClass {
public static void main(String args[]) {
System.out.println("I am first class");
TwoClass2.main(args);
}
}
或者写第三个给他们两个打电话:
class Foo {
public static void main(String args[]) {
TwoClass.main(args);
TwoClass2.main(args);
}
}