无论是方法还是属性
只要前面加了static就会在内存中分配空间,如果没有初始化,则系统自动初始化,于是得到一些总结:
1、静态的上下文不可以访问非静态的上下文
2、非静态的上下文可以访问静态的上下文
3、非静态的上下文不可以访问非静态的上下文
4、静态的上下文可以访问静态的上下文
5、static不能修饰构造方法,只能修饰普通方法
另外,在一个类中,可以直接访问另外一个类的非private的静态属性或方法(非静态方法,但该非静态方法内部包含调用了静态的属性或者方法,也是可以访问的)
其实本质在于是否分配了内存,了解了这一本质,就会很好理解了java调用之间的规则