public static void main(String[] args)
{
boolean t=true;
System.out.println("Before return");
if(t) return;
System.out.println("not execute");
}
Run Code Online (Sandbox Code Playgroud)
在使用上面的代码时,return它应该返回调用main函数的函数.究竟是谁调用了这个main功能?
Jas*_*n S 10
Java类在更大的上下文中执行(特定的JVM,正如其他人所注意到的).以下是一些可能性:
java -cp {classpath here} com.example.foo.SomeClass以显式选择要运行的Java应用程序启动器的类java -jar somejar.jar(有问题的类将在.jar文件的清单中选择)main()方法.在所有情况下,该main()方法是在给定特定类的情况下执行代码的规范入口点.从javaJVM 上的文档:
描述
java工具启动Java应用程序.它通过启动Java运行时环境,加载指定的类以及调用该类的main方法来实现此目的.方法声明必须如下所示:
Run Code Online (Sandbox Code Playgroud)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退出,除了在一些特殊情况下,例如,有其他非守护程序线程正在运行或者有一个关闭钩子.