可以在哪里找到Java主函数

时间:2013-07-20 06:14:50

标签: java main

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

4 个答案:

答案 0 :(得分:15)

JLS 12

  

Java虚拟机通过调用某个指定类的方法main来开始执行,并传递一个参数,这是一个字符串数组。

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

JVM spec 5.2

  

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方法的参数。