当前位置: 首页 > 面试题库 >

谁调用Java中的main函数?

鲍向笛
2023-03-14
问题内容
public static void main(String[] args) 
{
    boolean t=true;
    System.out.println("Before return");
    if(t) return;
    System.out.println("not execute");
}

在上面的代码中,当return使用时,它将返回到调用主函数的函数。谁确切调用了该main函数?


问题答案:

Java类在更大的上下文中执行(如其他人所指出的,是特定的JVM)。以下是一些可能性:

  • 您运行java -cp {classpath here} com.example.foo.SomeClass到明确选择为Java应用程序类启动器运行
  • 您运行java -jar somejar.jar(相关类将在.jar文件的清单中选择)
  • 您正在Eclipse中工作,并使用debug / run执行特定类的main()方法。

在所有情况下,该main()方法都是给定特定类执行代码的规范入口。从javaJVM 上的文档中:

描述

Java工具启动Java应用程序。它通过启动Java运行时环境,加载指定的类并调用该类的main方法来实现。方法声明必须如下所示:

   public static void main(String args[])

该方法必须声明public和static,它不能返回任何值,并且必须接受String数组作为参数。默认情况下,第一个非选项参数是要调用的类的名称。应该使用标准的类名。如果指定了-
jar选项,则第一个非选项参数是JAR归档文件的名称,其中包含应用程序的类和资源文件,且启动类由Main-Class清单标头指示。

Java运行时在三组位置中搜索启动类和使用的其他类:引导类路径,已安装的扩展和用户类路径。

类名或JAR文件名之后的非选项参数将传递给主函数。

javaw命令与java相同,除了javaw没有关联的控制台窗口。当您不希望显示命令提示符窗口时,请使用javaw。但是,如果由于某种原因启动失败,javaw启动器将显示一个带有错误信息的对话框。

您声明:

在上面的代码中,当使用return时,它应该返回到调用main函数的函数。

可能没有 任何
其他的Java功能(实际上,通常也没有),它调用的main()函数。这是声明知名入口点的约定。如果启动JVM来运行您的类的main()方法,则main()返回时,JVM会退出,但在某些特殊情况下(例如,正在运行其他非守护程序线程或存在关闭钩子)。



 类似资料:
  • 本文向大家介绍.NET中函数Main的使用技巧,包括了.NET中函数Main的使用技巧的使用技巧和注意事项,需要的朋友参考一下 引言 最近在使用pandoc这个文档转换软件,能够对各种文档进行完美的转换,比如从markdown文件转为doc,ppt,tex,odt等等各种,感兴趣的可以从Pandoc下载,对于pandoc的的文档转换,都是使用cmd中的命令来进行操作的。现在我需要把d盘的1123.

  • 问题内容: 我需要使用反射从另一个主要方法调用Java类的主要方法。 必须使用反射,以消除被调用主类的编译时依赖性。直截了当的方法并没有产生效果,因为它只识别“公共”和“非静态”方法。有什么建议吗? 问题答案: 不应比调用任何其他函数更复杂: 但是我真的看不到有什么用途,只要您不使用特定的代码路径,就可以买到该程序,而无需链接另一个程序,这是它唯一能为您带来的好处,但是如果这是您需要的,在这里走

  • 问题内容: 我有 但后来当我打电话从通过运行以下命令在命令行上,JAVA抱怨说,你不能调用从静态功能的方法。 所以我的问题是:如何从主方法调用方法,如果不可能,使用java命令从命令行运行程序后,有哪些替代策略可以调用方法。 问题答案: 您只能针对类的实例调用类似的实例方法(顺便说一下,这是一个非法的方法名称): 另外,如果对您的设计有效,则也使它成为静态。

  • 问题内容: 所以我有一个功能可以检查预订表中有多少取消: 要在SQL中执行他,我使用: 我的结果是: 我的问题是有人可以帮助我在JAVA中调用该函数吗,我尝试过但没有运气。 问题答案: Java提供了这样的目的。 将打印与在pl / sql中相同的内容。根据文档, 创建一个CallableStatement对象以调用数据库存储过程。CallableStatement对象提供了用于设置其IN和OUT

  • 问题内容: 当使用反射从另一个主要方法调用Java类的主要方法时, 我应该创建newInstance()还是直接调用main(),因为它是静态的。 问题答案: 对于您陈述的要求(动态地调用随机类的main方法,通过反射,您有很多不必要的代码。 您不需要为该类调用构造函数 您不需要内省类字段 由于您正在调用静态方法,因此甚至不需要真正的对象来调用该方法。 您可以修改以下代码来满足您的需求:

  • (我使用的是Mongo Java Driver 2.12.0和RoboMongo。) 我正在从java创建一个mongo DB,并用所有来自java的数据填充它。所有这些对我来说都很有效。我已经在我的数据库中制作了几个我想要的javascript函数。如果我通过Robomongo shell手动插入这些函数,使用: 并在java中通过db.eval()调用这些函数,这些函数运行得很好。现在我想做的