类变量又叫静态成员变量,它不需要创建对象就可以已经在内存中存在了。类就像一份说明书,说明这种类的实例对象的规格。
而在创建实例对象的时候,内存中会为每一个实例对象的每一个非静态成员变量开辟一段内存空间,用来存储这个对象所有的非静态成员变量值。即使两个不同的实例对象是属于同一个class类,但是它们的同名非静态成员变量在内存中占用的空间是不同的。
而静态成员变量也就是类变量不同。所有的实例对象都共用一个类变量,内存中只有一处空间是放这个类变量值的。因此,如果一个对象把类变量值改了,另外一个对象再取类变量值就是改过之后的了。
public class A{
static int a; //带static定义的变量叫类变量,也叫静态变量
int b; //不带static定义的变量叫实例变量,也叫非静态变量,一般所说的成员变量指这个
{int ab;} //局部变量
public void s(){
int c; //定义在方法里面或{}里面的叫局部变量
{int d;}
}
}
|