package test;
public class StaticTest {
public static class ClassStatic{
static int sum = 0;
private static void sum(int i){
sum += i;
}
}
public static void main(String[]args){
ClassStatic static1 = new ClassStatic();
static1.sum(1);
ClassStatic static2 = new ClassStatic();
static1.sum(2);
System.out.println(static1.sum);
}
}
输出结果为:3
由此可得:static修饰的变量是存储在常量空间,系统只分配一个内存空间,每次方法的调用都会对同一空间进行修改,尽管引用对象不同,但变量都指向同一内存空间。