static关键字:与对象无关!
a.修饰本类属性,称为静态属性(类属性),所有对象共享此属性值;非static属性称为成员变量或对象属性,每个对象都有此属性且值都不一样
范例:实例属性的内存分析
内存分析图如下:
传统属性所具备的特征:保存在堆内存中,且每个对象独享属性。
描述共享属性,只需在属性前添加static关键字即可
static属性又称为类属性,保存在全局数据区的内存之中,所有对象都可以进行该数据区的访问
修改上述代码:
b.修饰本类方法
使用static修饰方法,称为类方法,直接通过类名称调用,与对象实例化无关。
静态方法常见于工具方法
eg. java . until . Arrays . sort();
System . arraycopy();
注意:
静态方法(于对象无关)一定不能访问类中普通属性(于对象强相关)
静态方法一定可以访问类中的静态属性(都与对象无关)
普通方法(通过对象调用)一定可以访问类中静态属性(没有对象就可以调用,更别说有对象了)