关于java:public static void main(String [] args) – 为什么它实际上是静态的?

public static void main(String[] args) - why is it actually static?

本问题已经有最佳答案,请猛点这里访问。

Possible Duplicate:
Why is the Java main method static?

主要方法静态化的原因是什么?为什么不只是public void main(String[] args)?我想我理解静态的含义,但我觉得没有理由在这里。谢谢您。


我们声明,Java中的main方法是:公共静态空隙main(字符串ARGs[])

静态:main是类的入口点。在Java中,所有的东西都是在类中编写的。现在当你在命令提示符上运行Java时,加载器将加载类,JVM将搜索主方法进入类。因此,将main()设为静态的,将使jvm直接访问它而不创建实例。

如果主方法没有声明静态,那么JVM必须创建主类的实例,并且由于构造函数可以重载并且可以有参数,所以JVM在Java中找不到任何确定的方法。


根据我有限的Java知识,EDCOX1×0是静态的,因为当Java应用程序启动时,它不会创建任何类实例。需要有一个函数可以在不创建实例的情况下调用,这正是静态关键字所做的。


请记住,Java中的所有东西都是一个类,并且在不创建JavaMain方法的情况下,直接赋予JVM直接访问它包含的对象必须是静态的。

static : main is the entry point of a class. In java everything thing is written in a class. Now when you run java filename on command prompt, loader will load the class and jvm will search the main method to enter into the class. so making the main() as static, will make jvm access it directly through classname.main()

这里参考

这也是这个问题的一个很好的资源,位于这里