1.基本概念
通常情况下成员变量属于对象层级,每创建一个对象就需要申请一个独立的内存空间来,存放该对象独立的成员变量信息。若所有对象的某个成员变量数值完全一样缺又单独存放会造成内存空间浪费现象
为了解决上述问题,则使用static关键字修饰成员变量来表达静态含义。此时该成员变量由对象层级提升为 类层级,会被所有对象共享。该成员变量随着类加载准备就绪,与是否创建对象无关。
static关键字也可以修饰方法, 推荐使用 类名. 的方式进行访问
2.使用方式
(1)在非静态的成员方法中既能访问非静态的成员变量也能访问静态的成员变量
为什么非静态方法能访问静态成员变量?
原因:静态成员变量会被所有对象共享
(2)在静态方法中只能访问静态成员变量,不能访问非静态的成员
原因:静态方法随着类加载就准备就绪,此刻调用静态方法时,还没有创建对象,所以非静态成员变量不存在
上面正确示例
(3)只有隶属于类层级且被所有对象共享的内容才可以使用static修饰
不能滥用static关键字