在我的赛前我有一个线程,它的run方法必须有Queue作为输入:
@Override
public void run(Queue q) {
// TODO Auto-generated method stub
A = q.pop();
System.out.println(A * A + "Pop1");
}
在这种情况下,run方法不是我的runnable类的实现方法,所以我该如何处理这个问题?
答案 0 :(得分:3)
将队列设置为构造函数中的参数。或者将其添加到setter中。 从run方法中删除参数,但将其保留在方法体中。
答案 1 :(得分:0)
您使用run
的正确签名编写第二个Runnable
方法。然后,这个可以以某种方式获取队列并调用另一个run
方法。
答案 2 :(得分:0)
从线程的原始run()方法,调用run(Queue q)方法
@Override
public void run() {
//call the run(Queue q) method from here
}
public void run(Queue q) {
// TODO Auto-generated method stub
A = q.pop();
System.out.println(A * A + "Pop1");
}