读书人

关于创建对象的有关问题

发布时间: 2012-01-10 21:26:51 作者: 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); //上边没有创建对象q,方法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;
}

}

[解决办法]
这。。。。。。

这问题,我实在无法回答。。。。。。。

我只知道类里面都有一个叫构造函数的和叫类成员的。。。。

另外呢,还有一种说法叫方法参数的。。。。。


LZ,你的问题不好整啊~~~我只能帮你这些了~~~
[解决办法]
你怎么看的这么快啊
好像连java 的基础知识都没掌握好就去看线程去了
[解决办法]
飘过......
[解决办法]
我是这样认为的 你的方法应该是先执行main()方法 才执行后面线程的run()方法 你的main()方法 有这句话 Queue q=new Queue(); 说明已经创建了Queue的对象 不知道对不 请看到帖子的人指导
[解决办法]
Producer(Queue q)//这里为什么会与语句
{ //Queue q=new Queue();
this.q=q; //一样呢
} //
应该不一样吧,除非main中刚好有Queue q=new Queue();Producer(q);
而刚好你的main中就是这种情况

读书人网 >J2SE开发

热点推荐