我是Java的新手,我刚刚编写了一些代码,其中我使用了两个带有main方法的类。 我喜欢一个接一个地执行两个主要方法。是否有可能以指定的顺序同时执行它们?
imFirst.java
// obj.value = '?V6I0S7I5*5O5S1F2C[]3U4!';
function exampleFunction(obj) {
var val = obj.value.replace(/\D/g, ''),
char = {3:'-',6:'-'}, tmp='';
for (var i = 0; i < val.length; i++) {
tmp += (char[i]||'') + val[i];
}
obj.value=tmp;
}
imSecond.java
public class imFirst {
public static void main(String[] args) {
System.out.println("I want to be the first one executed!");
}
}
这些是在一个包中,通过eclipse执行。
答案 0 :(得分:2)
你可以从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。
答案 1 :(得分:1)
您也可以像其他常规方法一样调用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();
}