可以在哪里找到Java主函数

Cha*_*mar 3 java program-entry-point

是否public static void main(String[] args)是Java提供一些类的内置或用户定义或重写的功能?如果在某个接口或类中声明或定义它,可以在哪里找到它的声明?

NIN*_*OOP 15

JLS 12

Java虚拟机通过调用某个指定类的方法main来启动执行,并向其传递一个参数,该参数是一个字符串数组.

每个Java应用程序都应该有一个main()方法,JVM将main()在启动应用程序时查找该方法.这是执行开始的地方.不,它不是内置的,您main()在类中定义方法,该方法成为应用程序的起始执行点.main()方法必须是public,static返回void并接受一个参数:一个String数组.具有这种main()方法的任何类都可以用作Java应用程序的起点.

JVM规范5.2:

Java虚拟机通过使用引导类加载器(第5.3.1节)创建一个初始类来启动,该类以依赖于实现的方式指定.然后,Java虚拟机链接初始类,初始化它,并调用公共类方法void main(String []).调用此方法会驱动所有进一步的执行.构成主方法的Java虚拟机指令的执行可以导致附加类和接口的链接(并因此创建),以及其他方法的调用.


sjr*_*sjr 6

它不是由任何接口定义的,语言规范规定它是JRE开始运行时所查找的功能.