如何在不定义main方法的情况下运行Java程序?

Kor*_*nto 10 java methods program-entry-point

我正在浏览一些Java源代码,并注意到该main方法未定义.

Java如何编译源代码而不知道从哪里开始?

Jac*_*nds 20

main方法仅在Java虚拟机执行代码时使用.没有main方法就无法执行代码,但仍然可以编译代码.

编译代码时,通常在命令行中指定一组文件,例如

javac MyClass1.java MyClass2.java
Run Code Online (Sandbox Code Playgroud)

Java编译器(javac)检查您传递给它的每个类,并将其编译为.class文件.

Java源代码可能缺少main方法的一个原因是因为它被设计为用作库而不是被执行.

你可能会感兴趣的东西:虽然Java编译器编译main源代码不需要方法,但Java编译器本身源代码确实有一个main方法.


hvg*_*des 5

运行和编译之间是有区别的。Java代码可以进行增量编译。您只需要在main某个地方运行代码即可。Java“知道从哪里开始”,因为编译器足够聪明,可以在编译时安排所有依赖项。

确实,如果要在某种标准容器中构建Web应用程序,则您的代码可能没有main方法。容器可以,但是您只需编写插入的组件即可。