源中定义的Java Main方法在哪里?

时间:2015-08-24 11:16:56

标签: java main openjdk

请原谅我这个愚蠢的问题。我在哪里可以找到java源代码中的java main方法定义?它不在对象类或系统类中?那么它究竟是如何以及在何处定义的?

public static void main(String[] args) {}

3 个答案:

答案 0 :(得分:3)

  

源中定义的Java Main方法在哪里?

它在一个类中声明。通常,它是顶级(即非嵌套)public类,但这不是必需的。 (非公共类可以工作,我认为静态嵌套类也可以工作。)

如何找到main方法?

  • 使用grep或类似内容搜索您应用的源代码。

  • 使用IDE的方法搜索功能。

  • 阅读应用程序的用户文档或启动脚本。

  • 在应用程序的javadoc索引中查找main方法。

java命令如何找到它?

没有!您可以在main命令行中指定包含要使用的java方法的类的完全限定类名。或者,您可以在JAR文件的清单中设置Main-Class属性,以便用户不需要知道类名。

UPDATE - 如果您正在寻找加载入口点类的OpenJDK源代码树中的代码,找到main方法并调用它,它全部在“jdk8u / jdk / src / share”中/bin/java.c”。快乐阅读。

答案 1 :(得分:0)

它没有在任何地方定义为代码(在标准库中)。

如果您正在运行课程,JVM希望找到它,如果找不到,则会收到错误。因此,如果您想要运行课程,可以自行创建public static void main(String[] args)方法。

答案 2 :(得分:0)

main方法是java中应用程序的入口点。所有java类都打包为可在任何应用程序中使用的库。所以类文件用作引用而不是separte可执行文件。你不能单独执行java源代码,因为它不是java源代码中的任何主要方法定义。