public class Cat {
private static int sid = 0;
private String name;
int id ;
Cat(String name) {
this.name = name;
id = sid++;
}
public void info() {
System.out.println
("My name is " + name + "No." + id);
}
public static void main(String[] args) {
Cat.sid = 100;
Cat mimi = new Cat("mimi");
Cat pipi = new Cat("pipi");
mimi.info();
pipi.info();
}
}
在这个程序中 id= sid ++,在sid变成100之后,为什么id不是变成 101,102 ,而是 100,101不是递增一么?
------解决方案--------------------
id = sid++;
System.out.println(id);
看一下结果就知道了;
这里你的问题应该是++i和i++的问题,不严谨的说就是一个先用后增,一个先增后用;
修改为 id = ++ sid;
结果就出来了;