对于一般的非static成员变量或方法,需要有一个对象的实例才能调用,所以要先生成对象的实例,他们才会实际的分配内存空间。而对于static的成员变量或方法,在程序载入时便已经分配了内存空间,他只和特定的类想关联,无需实例化。直接用 类名.静态方法名 或者 类名.静态变量名就可引用并且直接可以修改其属性值,不用get和set方法。
main方法也是静态方法,在静态方法中,如果先实例化了一个对象,可以访问该实例化对象的非静态方法,但是静态方法不能访问本类中非静态方法(笔试题常考),因为外部调用静态方法时,是用类名.静态方法名调用的,而这时非静态方法还没初始化,还未在内存中分配存储空间。