为什么会和创建对象的语句是一样的呢 ?
class   Test 
 { 
 	public   static   void   main(String[]   args) 
 	{ 
 		Queue   q=new   Queue(); 
 		Producer   p=new   Producer(q); 
 		Consumer   c=new   Consumer(q); 
 		p.start(); 
 		c.start(); 
 	} 
 }   
 class   Producer   extends   Thread 
 {   
 	Queue   q;                              // 
 	Producer(Queue   q)//这里为什么会与语句 
 	{                                                //Queue   q=new   Queue(); 
 		this.q=q;//一样呢    
 	}                                                   // 
 	public   void   run()  	 
 	{ 
 		for(int   i=0;i <10;i++) 
 		{ 
 		q.put(i); 
 		System.out.println( "Producer   put    "+i); 
 		} 
 	}   
 } 
 class   Consumer   extends   Thread 
 	{ 
 		Queue   q;// 
 	Consumer(Queue   q)//还有这里 
 	{                                             // 
 		this.q=q;// 
 	}                                                      // 
 	public   void   run() 
 	{ 
 	while(true) 
 	{ 
 	System.out.println( "Consumer   get    "+q.get()); 
 	} 
 	} 
 } 
 class   Queue 
 { 
 	int   value; 
 	public   void   put   (int   i) 
 	{ 
 		value=i; 
 		} 
 		public   int   get() 
 		{ 
 			return   value; 
 			}  	 
 }
------解决方案--------------------不一样,一个是创建新对象,一个是传递一个引用
------解决方案--------------------最好再看看面向对象的书籍和相关语法。你使用new操作符来创建对象,和传递应用是不一样的。   
 int i=1; 
 和 
 put(int i) 
 { 
 } 
 中i的作用一样吗?