我是Java新手,我刚刚编写了一些代码,其中我使用了两个带有main方法的类。我喜欢一个接一个地执行两个主要方法。是否有可能按指定顺序同时执行它们?
第一.java
public class imFirst {
public static void main(String[] args) {
System.out.println("I want to be the first one executed!");
}
}
第二.java
public class imSecond {
public static void main(String[] args) {
System.out.println("I want to be the second one executed!");
}
}
这些都在一个包中,通过 Eclipse 执行。
你可以从 imFirst 调用 imSecond 的主要:
public class imFirst {
public static void main(String[] args) {
System.out.println("I want to be the first one executed!");
imSecond.main(args);
}
}
或者可以相反:
public class imSecond {
public static void main(String[] args) {
System.out.println("I want to be the second one executed!");
imFirst.main(args);
}
}
根据您的需求进行操作。但是不要同时做这两件事,否则你可能会得到两种方法相互调用的无限循环。
作为旁注:使用正确的 Java 命名约定。类名应为 CamelCase。
快速修复
您也可以像调用其他常规方法一样调用main
方法:
public static void main(String[] args) {
imFirst.main(null);
imSecond.main(null);
}
更好的方法
但是您应该首先考虑为什么您甚至需要两种主要方法。main
方法是整个Java链中的第一件事,通常每个完整的程序只使用一个。目的是简单地启动程序,大多数时候它只是对专用类的调用,例如:
public static void main(String[] args) {
ProgramXY programXY = new ProgramXY();
programXY.init();
programXY.start();
}
因此,我建议您简单地将 print 语句移动到自己的类和方法中,然后从一个主方法调用它们:
实用程序类:
public class ConsolePrinter {
public static void println(String line) {
System.out.println(line);
}
}
唯一的主方法:
public static void main(String[] args) {
ConsolePrinter.println("I want to be the first one executed!");
ConsolePrinter.println("I want to be the second one executed!");
}
更一般
或者出于更一般的目的:
头等舱:
public class FirstClass {
public void firstMethod() {
// ...
}
}
二等舱:
public class SecondClass {
public void secondMethod() {
// ...
}
}
唯一的主要方法:
public static void main(String[] args) {
FirstClass first = new FirstClass();
SecondClass second = new SecondClass();
first.firstMethod();
second.secondMethod();
}