public static void main(String[] args)
{
boolean t=true;
System.out.println("Before return");
if(t) return;
System.out.println("not execute");
}
在上面的代码中,当使用return
时,它应该返回调用main函数的函数。究竟是谁调用main
函数?
答案 0 :(得分:18)
Java虚拟机。
答案 1 :(得分:10)
Java类在更大的上下文中执行(特定的JVM,正如其他人所注意到的)。以下是一些可能性:
java -cp {classpath here} com.example.foo.SomeClass
至explicitly select a class for the java application launcher to run java -jar somejar.jar
(the class in question will be selected in the .jar file's manifest)main()
方法。在所有情况下,main()
方法是在给定特定类的情况下执行代码的规范入口点。来自java
JVM上的文档:
<强>描述强>
java工具启动Java应用程序。它通过启动Java运行时环境,加载指定的类以及调用该类的main方法来实现此目的。方法声明必须如下所示:
public static void main(String args[])
该方法必须声明为public和static,它不能返回任何值,并且必须接受String数组作为参数。默认情况下,第一个非选项参数是要调用的类的名称。应使用完全限定的类名。如果指定了-jar选项,则第一个非选项参数是包含应用程序的类和资源文件的JAR存档的名称,其中启动类由Main-Class清单标头指示。
Java运行时在三组位置中搜索启动类和其他使用的类:引导类路径,已安装的扩展和用户类路径。
将类名或JAR文件名传递给main函数后的非选项参数。
javaw命令与java相同,但javaw没有关联的控制台窗口。当您不希望出现命令提示符窗口时,请使用javaw。但是,如果由于某种原因启动失败,则javaw启动程序将显示一个包含错误信息的对话框。
你说:
在上面的代码中,当使用return时,它应该返回调用main函数的函数。
可能没有任何其他Java函数(实际上通常没有)调用main()
函数。这是宣布一个众所周知的切入点的惯例。如果启动JVM以运行类的main()
方法,那么当main()
返回时,JVM将退出,除非在少数特殊情况下,例如还有其他非守护程序线程在运行,或者有一个关闭钩子。
答案 2 :(得分:2)
通过example调用main()
这是一个不错的JNI_CreateJavaVM
。
答案 3 :(得分:0)
答案 4 :(得分:0)
JVM使用main()
作为程序的起点,就像C ++中的int main()
一样。
答案 5 :(得分:0)
在JVM调用main方法时同意上述语句,因为它是为了执行类而必须加载的任何类的入口点。
答案 6 :(得分:0)
Jvm启动主线程来调用main方法。