Main 定义为static的目的是为了要在不创建类实例的前提下,可直接调用Main方法。
定义为Public 是由于Main函数是程序入口点。
每一个程序执行的时候都对应一个虚拟机(你应该听说过虚拟机吧),虚拟机会首先找到类文件(class后缀,在这里就是a.class),然后虚拟机会对导入的class文件进行提取,得到其中的类型信息放入到方法区中(方法区暂时不用管,你就当成把这些信息成放到一个特定的地方),然后通过类的二进制文件找到这种main方法(就是最开始说到的那个)。
另外你说的那个其实不是static调用非static,因为在main方法中,你已经实例化了一个对象了,是通过对象调用的这个方法,而不是在static中直接调用的。 |