static 关键字用来声明独立于对象的静态变量,无论一个类实例化多少对象,它的静态变量只有一份拷贝。 静态变量也被称为类变量。局部变量不能被声明为 static 变量。
static 关键字用来声明独立于对象的静态方法。静态方法不能使用类的非静态变量。静态方法从参数列表得到数据,然后计算这些数据
比如有一个 Person 类
他有一些属性:姓名、年龄、人口
也有一些行为:死亡、毁灭
其中可以分类出姓名、年龄是属于对象的,而人口这个属性不是属于某一个人的,也就是不是属于对象的,而是属于整个 Person
类的,同样,毁灭这个行为不是属于某一个人的,某个人死亡了,不会导致整个人类的灭亡,而是属于 Person
类
可以看出,状态和行为,有类和行为之分,那么怎么区分呢?
如果你在字段和方法前添加了 static
关键字,那么他就属于类
特点:
static
修饰的内容,是随着类的加载而加载的
当 JVM 把字节码加载到虚拟党总,static
修饰的成员会自动的加载到内存中(方法区)
static
修饰的内容,优先于对象存在
static
修饰的内容,被该类型的所有对象所共享
static
修饰的内容,可以直接被类名来访问
字段(成员变量)