下面有段代码不明白,请教一下
class   Garbage 
 { 
 	int   index; 
 	static   int   count; 
 	Garbage() 
 	{ 
 		count++; 
 		System.out.println( "object    "+count+ "   construct "); 
 		setID(count); 
 	}  	 
 	void   setID(int   id) 
 	{ 
 		index=id; 
 	}  	 
 	protected   void   finalize() 
 	{ 
 		System.out.println( "object    "+index+ "   is   reclaimed "); 
 	}  	 
 	public   static   void   main(String[]   args) 
 	{ 
 		new   Garbage(); 
 		new   Garbage(); 
 		new   Garbage(); 
 		new   Garbage(); 
 		System.gc(); 
 	} 
 }     
 当程序执行的时候结果如下:   
 object   1   construct 
 object   2   construct 
 object   3   construct 
 object   4   construct 
 object   4   is   reclaimed 
 object   3   is   reclaimed 
 object   2   is   reclaimed 
 object   1   is   reclaimed   
 但我认为结果应该是:   
 object   1   construct 
 object   2   construct 
 object   3   construct 
 object   4   construct 
 object   4   is   reclaimed 
 object   4   is   reclaimed 
 object   4   is   reclaimed 
 object   4   is   reclaimed   
 index的值为什么会减少呢???不明白,请指教....
------解决方案--------------------晕,index又不是static变量,四个不同的Garbage实例里面的index都不一样的啊
------解决方案--------------------void setID(int id) 
 	{ 
 		index=id; 
 	}  	 
 这句index把每个ID都记录了下来