public class TestDy {
static int i=0;
public int getInt(){
i++;
return i;
}
}
public static void main(String[] args) {
while(true){
TestDy t=new TestDy();
int i=t.getInt();
System.out.println("i=="+i);
try {
Thread.sleep(20000);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
结果:
i=1
i=2
i=3
说明: 静态方法在类加载时加载并赋予初始值加载到方法区。。因此无论创建多少个对象都不会初始化静态变量的值
注: 加载流程为 静态变量或静态代码块(看先后顺序)-->静态方法-->构造方法-->实例变量-->方法