【发布时间】:2012-08-27 12:30:29
【问题描述】:
main 方法是静态的原因是什么?为什么不只是public void main(String[] args)?我想我理解静态的含义,但我认为没有理由在这里。谢谢。
【问题讨论】:
main 方法是静态的原因是什么?为什么不只是public void main(String[] args)?我想我理解静态的含义,但我认为没有理由在这里。谢谢。
【问题讨论】:
我们将java中的main方法声明为:public static void main(String args[])
static : main 是类的入口点。在java中,一切都写在一个类中。现在当你在命令提示符下运行java时,loader会加载类,jvm会搜索main方法进入类。因此将 main() 设置为静态,将使 jvm 直接访问它而不创建实例。
如果 main 方法未声明为静态,则 JVM 必须创建 main 类的实例,并且由于构造函数可以重载并且可以有参数,那么 JVM 在 Java 中查找 main 方法将没有任何确定且一致的方法。
【讨论】:
请记住,java 中的一切都是一个类,并且要让 JVM 直接访问 main 方法而不创建包含在其中的对象,它必须是静态的。
static : main 是类的入口点。在java中,所有东西都写在一个类中。现在,当您在命令提示符下运行 java filename 时,loader 将加载该类,jvm 将搜索 main 方法以进入该类。所以将 main() 设为静态,会让 jvm 直接通过 classname.main() 访问它
这也是这个问题的好资源,located here
【讨论】:
根据我有限的 Java 知识,main() 是静态的,因为当启动 Java 应用程序时,它不会创建任何类实例。需要有一个可以在不创建实例的情况下调用的函数,这正是 static 关键字的作用。
【讨论】: