当前位置: 代码迷 >> J2SE >> 生手乱入求指导
  详细解决方案

生手乱入求指导

热度:13   发布时间:2016-04-23 20:31:16.0
新手乱入求指导
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;

结果就出来了;

  相关解决方案