Java多个类和多个主方法,执行所有主方法



我是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();
}

相关内容

  • 没有找到相关文章

最新更新