Java 后端面试题库 / 全部题解免费阅读理解原理,有条理地回答

多个类能各自拥有 main 方法吗?

先说出你的答案

定义边界、关键机制、一个反例;P8题再补容量、失败与验证。

查看完整题解

参考回答

直接回答

可以。不同类可以各自声明合规的 main 方法,启动时由 java 命令、JAR 清单或 IDE 运行配置决定使用哪一个入口。一个项目存在多个 main,不会让 JVM 自动全部执行,也不意味着它们会同时运行。

讲清原理

“方法属于哪个类”是方法身份的一部分,所以 A.main 与 B.main 并不冲突。它们可以分别用于正式程序、演示程序或工具。但多个入口怎样组织,是项目结构与部署配置的问题。

同一个类也能重载 main,不过只有符合当前启动模式要求的版本会被启动器当作入口。普通业务代码若直接调用另一个类的 main,那只是一次显式静态方法调用,不会凭空创建一个新的 JVM。

例子与易错点

class First {
    public static void main(String[] args) {
        System.out.println("first");
    }
}
class Second {
    public static void main(String[] args) {
        System.out.println("second");
    }
}

编译后分别执行 java First、java Second,只运行选中的入口。若要并发启动两套程序,需要另外安排线程或进程,而不是仅仅多写一个 main。

相关题:第 10 题、第 12 题、第 22 题。

这道题,你掌握得怎么样?

掌握程度由你主动标记,阅读和收藏不会自动改变状态。