先看一段代码:
public class HasStatic {
private static int x= 100;
public static void main(String[] args) throws Exception {
HasStatic hs1 = new HasStatic();
hs1.x++;
HasStatic hs2 = new HasStatic();
hs2.x++;
hs1=new HasStatic();
hs1.x++;
HasStatic.x--;
System.out.println("x="+x);
}
}
结果:
x==102
解释:
当类加载的时候,就会在方法区创建空间来存储这个静态变量,之后在创建对象,只会改变这个静态变量的值,不会在重新创建静态变量了,所以说静态变量也叫做类变量,因为它是属于类的,所以说你之后无论使用那种方法是调用这个静态变量,只会改变它指向的值