Java 在代码内部调用main

Java 在代码内部调用main,java,main,Java,Main,我们可以在任何其他函数中调用main()函数吗?我试过了,但没有想到 如果我们不能打电话,为什么 为什么main()与普通方法不同?是的,为什么不尝试以下方法: public class Main { public static void main(String args[]) { System.out.println("Hello World"); } } public class NewMain { public static void main(S

我们可以在任何其他函数中调用
main()
函数吗?我试过了,但没有想到

如果我们不能打电话,为什么


为什么
main()
与普通方法不同?

是的,为什么不尝试以下方法:

public class Main {
    public static void main(String args[]) {
        System.out.println("Hello World");
    }
}

public class NewMain {
    public static void main(String args[]) {
        Main.main(args);
    }
}
如果您运行:

java NewMain
输出为:

Hello World
当然可以,main()与该领域的其他任何方法一样

public class A {

    public static void main(String[] args) {
        System.out.println("a's main()");
        B.main(new String[0]);
    }
}

public class B {

    public static void main(String[] args) {
        System.out.println("B's main()");

    }

}
运行A的main()将产生:

a's main()
B's main()
为什么main()与普通方法不同

在什么意义上不像普通方法?这和其他方法一样。我将尝试解释为什么
main
看起来像这样,也许这会帮助您理解发生了什么

它是无效的,因为当它结束时,并不意味着程序结束了。如果它生成了一个新线程,则可能是这些线程仍在运行

它是公共的,因为它是由JVM调用的,而JVM不在项目范围之内

当然,它必须是静态的,因为当JVM调用它时,被调用的类没有对象


当你理解它的时候,没有什么特别的,所以是的。。它可以像任何其他
静态
方法一样调用。

您在其他方法中执行的所有操作也可以在主方法上执行

main方法和其他方法之间的唯一区别在于,main方法将服务器作为运行类的起点

java命令启动一个java应用程序。它通过启动Java运行时环境、加载指定的类并调用该类的主方法来实现这一点


除此之外,没有其他方法。

main()
与其他普通方法类似。你有什么问题?你的错误是什么?你的代码在哪里?代码太长了,它有1300多行,请给出一个简短的可操作代码。。。或者至少给出完整的错误消息,或者只给出调用
main
方法的行