Java Main 方法在源代码中定义在哪里?
Where is Java Main method defined in source?
请原谅我问这个愚蠢的问题。我在哪里可以找到 java 源代码中的 java 主要方法定义?它不在对象 class 或系统 class 中?那么它是如何以及在哪里定义的呢?
public static void main(String[] args) {}
Where is Java Main method defined in source?
它在 class 中声明。按照惯例,它是顶级(即非嵌套)public
class,但这不是必需的。 (非 public class 会起作用,我认为静态嵌套 class 也会起作用。)
如何找到 main
方法?
使用 grep
或类似搜索应用程序的源代码。
使用您的 IDE 方法搜索功能。
阅读应用程序的用户文档或启动脚本。
在应用程序的 javadoc 的索引中查找 main
方法。
java
命令如何找到它?
没有!您指定包含要在 java
命令行上使用的 main
方法的 class 的完全限定 class 名称。或者,您可以在 JAR 文件的清单中设置 Main-Class 属性,这样用户就不需要知道 class 名称。
UPDATE - 如果你在OpenJDK源代码树中寻找加载入口点class的代码,找到main方法并调用它,就可以了在 "jdk8u/jdk/src/share/bin/java.c"。祝您阅读愉快。
它没有在任何地方定义为代码(在标准库中)。
JVM
期望在您 运行 宁 class 时找到它,如果找不到它,您会得到一个错误。因此,如果您想 运行 您的 class.
,则由您创建一个 public static void main(String[] args)
方法
main 方法是 java 中应用程序的入口点。所有 java classes 都打包为将在任何应用程序中使用的库。因此 class 文件用作参考而不是单独的可执行文件。您不能单独执行 java 源代码,因为 java 源代码中不会有任何 main 方法定义。
请原谅我问这个愚蠢的问题。我在哪里可以找到 java 源代码中的 java 主要方法定义?它不在对象 class 或系统 class 中?那么它是如何以及在哪里定义的呢?
public static void main(String[] args) {}
Where is Java Main method defined in source?
它在 class 中声明。按照惯例,它是顶级(即非嵌套)public
class,但这不是必需的。 (非 public class 会起作用,我认为静态嵌套 class 也会起作用。)
如何找到 main
方法?
使用
grep
或类似搜索应用程序的源代码。使用您的 IDE 方法搜索功能。
阅读应用程序的用户文档或启动脚本。
在应用程序的 javadoc 的索引中查找
main
方法。
java
命令如何找到它?
没有!您指定包含要在 java
命令行上使用的 main
方法的 class 的完全限定 class 名称。或者,您可以在 JAR 文件的清单中设置 Main-Class 属性,这样用户就不需要知道 class 名称。
UPDATE - 如果你在OpenJDK源代码树中寻找加载入口点class的代码,找到main方法并调用它,就可以了在 "jdk8u/jdk/src/share/bin/java.c"。祝您阅读愉快。
它没有在任何地方定义为代码(在标准库中)。
JVM
期望在您 运行 宁 class 时找到它,如果找不到它,您会得到一个错误。因此,如果您想 运行 您的 class.
public static void main(String[] args)
方法
main 方法是 java 中应用程序的入口点。所有 java classes 都打包为将在任何应用程序中使用的库。因此 class 文件用作参考而不是单独的可执行文件。您不能单独执行 java 源代码,因为 java 源代码中不会有任何 main 方法定义。