静态变量

static 关键字用来声明独立于对象的静态变量,无论一个类实例化多少对象,它的静态变量只有一份拷贝。 静态变量也被称为类变量。局部变量不能被声明为 static 变量。

静态方法

static 关键字用来声明独立于对象的静态方法。静态方法不能使用类的非静态变量。静态方法从参数列表得到数据,然后计算这些数据

例子

比如有一个 Person 类

他有一些属性:姓名、年龄、人口

也有一些行为:死亡、毁灭

其中可以分类出姓名、年龄是属于对象的,而人口这个属性不是属于某一个人的,也就是不是属于对象的,而是属于整个 Person 类的,同样,毁灭这个行为不是属于某一个人的,某个人死亡了,不会导致整个人类的灭亡,而是属于 Person

可以看出,状态和行为,有类和行为之分,那么怎么区分呢?

如果你在字段和方法前添加了 static 关键字,那么他就属于类

特点:

  1. static 修饰的内容,是随着类的加载而加载的

    当 JVM 把字节码加载到虚拟党总,static 修饰的成员会自动的加载到内存中(方法区)

  2. static 修饰的内容,优先于对象存在

  3. static 修饰的内容,被该类型的所有对象所共享

  4. static 修饰的内容,可以直接被类名来访问

类的成员

字段(成员变量)