**Static关键字**
static定义属性:
当程序中使用了static关键字进行定义属性之后,那么此属性将不保存在堆内存里面,会保存在一个全局数据区的内存空间之中,并且所以的对象都可以进行该数据区的访问。
对于static的属性,也会将其称为类属性,而所有的类属性,可以直接通过类名称调用。
结论:访问static属性都使用类名称直接访问
所以的非static的属性必须在产生实例化对象之后才可以使用,而所有的static的属性不受实例化对象的限制
选择:关于static属性与非static属性定义的选择
在定义类99%的情况下是不会考虑static属性的;
如果需要描述共享属性的概念,或者不希望受到实例化对象控制的时候使用static属性
static定义的方法:
可以直接被类名称进行访问,不受实例化对象的限制。
所有的static方法不允许调用非static定义的属性和方法
所以非static方法允许访问static属性或方法
原因:所有static方法可以在没有实例化对象时访问,而所有非static操作必须在有实例化对象产生之后操作。