public static void main(String[] args)
是Java提供的内置函数还是用户定义或覆盖某个类的函数?如果它被声明或定义在某个接口或类中,那么它的声明在哪里可以找到?public static void main(String[] args)
是Java提供的内置函数还是用户定义或覆盖某个类的函数?如果它被声明或定义在某个接口或类中,那么它的声明在哪里可以找到?Java虚拟机通过调用某个指定类的main方法并传递一个字符串数组作为参数来启动执行。
每个Java应用程序都应该有一个main()
方法,JVM在启动应用程序时会查找该方法。这是执行开始的地方。它不是内置的,您需要在类中定义main()
方法,该方法成为应用程序的起始执行点。main()
方法必须是public
、static
、返回类型为void
,并接受一个参数:一个String
数组。拥有这样一个main()
方法的任何类都可以用作Java应用程序的起点。
Java虚拟机通过使用引导类装入器(§5.3.1)以一种实现相关的方式创建初始类。然后链接初始类并初始化它,并调用公共类方法void main(String[])。对此方法的调用驱动所有后续执行。执行构成main方法的Java虚拟机指令可能会导致链接(因此创建)额外的类和接口,以及调用其他方法。
这个函数并没有被任何接口定义,语言规范规定它是JRE在开始运行时要寻找的函数。
它与您在答案中指定的所有内容无关。当您通过调用java MyClass
调用解释器时,您的JVM将尝试在已编译的MyClass代码中查找具有签名public static void main(String[] args)
的方法(main方法必须声明为公共的,静态的,并且没有返回值。它必须指定一个形式参数,其声明类型为String数组
)。解释从那里开始。它不是用户定义的,而是一种由Java语言规范
制定的规范。
更多参考 - 点击此处。
public static void main(String[] args){}
每个Java应用程序都必须声明main函数。因为当我们运行一个应用程序时,JVM会寻找main函数。而main函数不是内置的。我们也称main函数为应用程序的起点。
Public:它是一个访问修饰符,定义了谁可以访问这个方法。
Static:它可以在不创建类实例的情况下被访问。
Void:返回类型。
Main:方法的名称。该方法名称由JVM作为应用程序的起点进行搜索。
String args[]:main方法的参数。