因为static类型的数据是属于类所有的。使用同一个类创建多个对象时对象虽然产生了多个,但类却只加载了一次,那个static的数据count也就随着类的加载而只“加载”一次,每创建一个对象都要调用一次构造方法,构造方法中正好又使用了static的count,此时count达到了共享,这样count就不断的++了。如果去掉了count前面的static的话,这时count就属于对象所有了,就是count只有在对象产生后才有,而每个对象只产生自己中的count,count这时没有被共享,简单说就是各个对象只有各自的count,他们互不相干,所以你去掉了count前的static就出现了你所说的总是0的情况。 |