public static void main(String[] args)
是否是Java提供的某个类的内置或用户定义或覆盖函数?如果在某个接口或类中声明或定义它,可以在哪里找到它的声明?
答案 0 :(得分:15)
Java虚拟机通过调用某个指定类的方法main来开始执行,并传递一个参数,这是一个字符串数组。
每个Java应用程序都应该有main()
方法,JVM将在启动应用程序时查找main()
方法。这是执行开始的地方。不,它不是内置的,您在类中定义main()
方法,它成为应用程序的起始执行点。 main()方法必须是public
,static
,返回void
,并接受一个参数:String
数组。任何具有此类main()
方法的类都可以用作Java应用程序的起点。
Java虚拟机通过使用引导类加载器(第5.3.1节)创建一个初始类来启动,该类以依赖于实现的方式指定。 Java虚拟机然后链接初始类,初始化它,并调用公共类方法void main(String [])。调用此方法会驱动所有进一步的执行。执行构成main方法的Java虚拟机指令可能会导致其他类和接口的链接(并因此创建),以及调用其他方法。
答案 1 :(得分:6)
它没有被任何接口定义,语言规范规定它是JRE开始运行时所寻找的功能。
答案 2 :(得分:0)
它独立于您在答案中指定的所有内容。当您通过调用java MyClass
调用解释器时,您的JVM将尝试在编译的MyClass代码(public static void main(String[] args)
)中找到带有签名The method main must be declared public, static, and void. It must specify a formal parameter whose declared type is array of String
的方法。解释将来自那里。它不是用户定义的,而是Java Language Specification
规定的一种规范。
更多参考 - Check Here.
答案 3 :(得分:0)
public static void main(String [] args){}
对于每个java应用程序必须声明main函数。因为当我们运行一个应用程序时,JVM将查找main函数。并且main函数不是内置的。我们也将main main函数作为应用程序的起点调用
Public:它是一个访问说明符。它定义了谁可以访问此方法。
静态:可以在不创建Class实例的情况下访问它。
虚空:返回类型。
main:方法的名称。 JVM将此方法名称作为应用程序的起始点进行搜索。
String args []:main方法的参数。