static只修饰类的成员,包括方法和属性以及代码块,不能修饰局部变量。
static修饰的方法,属性以及代码块的特点:
1,随着类的加载而加载
2,它属于类,所有类的对象共享该静态成员
3,优先于对象存在
4, 可以直接用类访问
static成员的优点:共享数据,可以节省空间
static成员的缺点:生命周期很长,随着类的加载而存在,只有当类卸载的时候才销毁。静态成员只能访问静态属性和方法。
static成员存储的位置:方法区(共享区,数据区)。
什么是时候使用static:
1,对于变量,如果不依赖于具体对象,所有对象共享的数据,可以用static修饰
2,对于方法,如果不会访问对象数据,及非静态成员方法和变量,比如工具类中的方法。