读书人

为啥会和创建对象的语句是一样的呢

发布时间: 2011-12-17 23:37:33 作者: rapoo

为什么会和创建对象的语句是一样的呢 ?
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的作用一样吗?

读书人网 >J2SE开发

热点推荐