日期:2014-05-20  浏览次数:20634 次

从LinkedList 中取对象的问题??
class   person{
      private   static   int     id   =   0;
      private String   name   =   null;
        public   person(String   name){
++id;
this.name   =   name;
}
public   int   getId(){
return   id;  
}
public   String   getName(){
return   name;
}
}

public   class   Linklisttest   {

/**
  *   @param   args
  */
public   static   void   locat(int   num){

}
public   static   void   main(String[]   args)   {
//   TODO   Auto-generated   method   stub
LinkedList   linklist   =   new   LinkedList();
                for(int   i   =   0;i <10;++i){  
                linklist.add(new   person( "三年三班   "+i));
                }
                Iterator   iterator   =     linklist.iterator();
                while   (iterator.hasNext()){
                Xiaoprint.xprintln(((person)iterator.next()).getId());
                }                  
}
}
注:Xiaoprint是我的工具类负责打印的
这道题的运行结果是
10
10
10
10
10
10
10
10
10
10
不清楚就在这里我的id已经是static类型,每建一个新对象应该递增才对,而这条语句Xiaoprint.xprintln(((person)iterator.next()).getName());就能得到我想要的结果

------解决方案--------------------
static 每个类只有1个
一大堆对象共用一个。
------解决方案--------------------
所有的object共有一个id所以当你getid时它就得到的最终id,如果你想把每object有一单独的id那么就的还有一非class变量然后在初始化时用class变量初始化