【重点】static修饰函数或者成员变量时,该函数或者成员变量不依赖于某一个实例对象而存在,而是所有对象共同享用的。
为什么main方法是静态的(static)
如果main方法不声明为静态的,JVM就必须创建包含这个main方法的类的实例,因为构造器可以被重载,若有人重载了构造器(重载后默认构造器不再调用),传入参数才能创建对象,JVM就不知道传什么样的参数去实例化对象,导致JVM无法通过实例化对象来加载【非类属性】的main方法,如果是类属性的main就不需要通过实例来调用,直接通过类属性调用,并可以通过java.exe的命令参数给main方法传参数。
为什么main方法是公有的(public)
Java指定了一些可访问的修饰符如:private、protected、public,任何方法或变量都可以声明为public,Java可以从该类之外的地方访问。因为main方法是公共的,JVM就可以轻松的访问执行它。
为什么main方法没有返回值(Void)
因为main返回任何值对程序都没任何意义,所以设计成void,意味着main不会有任何值返回