多个类能各自拥有 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 题。
和评分标准对照,你能独立回答到哪一步?
自评会安排下一次复习,不保存你的口述内容。
这道题,你掌握得怎么样?
掌握程度由你主动标记,阅读和收藏不会自动改变状态。