main方法为什么是静态的

来自于:https://zhidao.baidu.com/question/1545618910860955947.html

所有static成员都是在程序装载时初始化的,被分配在一块静态存储区域。


这个区域的成员一旦被分配,就不再改变地址啦。直到程序结束才释放。


main()就存储在这里。


尽管包含main()的类还没有被实例化,但是main()方法已经可以使用啦。


而且JVM将会自动调用这个方法。通过main()的调用,再实例化其他的对象,
也包括自己所在的类

 

来自于:http://blog.csdn.net/Jack_Lantern/article/details/52136122

非静态方法

非静态方法,没有静态修饰符修饰的方法,其数据域及功能仅在方法执行时生效。同时,其只有在对对象进行操作时才会调用。常见形式如下:
a.XXX(); b.XXX(c)……等等。

静态方法

用static修饰的就是静态方法。静态方法不依靠对象而存在。其直接与类有关,只要包含在类中,就可以得到执行,而不一定依附于对象的存在而执行。因此,Main方法作为程序的入口方法,在这之前是不可能有任何对象被建立的,也就在Main之前包括Main自身不可能是非静态方法。所以Main方法一定是静态的,有类就行——从而得到执行,进而有更多静态或非静态方法得到执行。

原文地址:https://www.cnblogs.com/xiaozhijing/p/7997834.html