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