gpt4 book ai didi

java - java中有多个main方法会怎样?

转载 作者:行者123 更新时间:2023-11-29 05:08:19 26 4
gpt4 key购买 nike

我目前正在查看一些不是我编写的 java 代码。在java项目中有多个包,我看到三个主要方法,它们都在不同的类中。包含 main 方法的两个类在同一个包中,另一个 main 在一个单独的包中。当我执行代码时,单独包中的主要方法似乎被调用。

第一个主要方法是

public static void main(String[] args) {
//code written in here seperate package
}

第二种主要方法是

public static void main(String[] args) {
//code written in here same package as third main
}

第三个主要方法是

public static void main(String[] argv) {
//code written in here same package as second main
}

这三个方法都包含相同的参数,因此不应重载。它们都有执行不同功能的代码。这怎么可能? java怎么知道调用哪个方法呢?在命令行中通过 java jar 命令执行此代码时,我没有收到任何错误。

最佳答案

已编辑

  1. 为了在 Java 中调用 main,您还必须提供类名。所以这样就没有歧义了。对于您的情况,使用任何解压缩程序解压缩您的 jar 文件,然后查找名为 MANIFEST.MF 的文件。该文件将包含主类的名称。
    请不要尝试更改 MANIFEST.MF 文件。相反,如果您需要调用另一个 main 方法,请使用备用命令行,指定包含您要使用的 main 方法的类,类似于:java -classpath somejar.jar com.example.Foo
  2. 参见 Can I override and overload static methods in Java?有关覆盖和重载静态方法的答案。

苏阿赫。

关于java - java中有多个main方法会怎样?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29630653/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com