我正在尝试使用以下教程来运行并理解:
http://www.ibm.com/developerworks/web/library/wa-cometjava/index.html
在可以在页面底部下载的示例代码中,一个类中的所有内容都有两个内部类。
如何让“The Weatherman”(清单4)看到“MessageSender”(清单3)的线程,这样我可以在run方法中使用它而不使用内部类?
谢谢你hansa
问题的重新制定: 如何使ClassThatDoSomething中的内部类MessageSender的send方法可以访问。
示例-代码:
public class Example extends HttpServlet implements CometProcessor {
private MessageSender messageSender = null;
@Override
public void init() throws ServletException
{
// starts thread MessageSender
}
public event(CometEvent)
{
// Object of ClassThatDoSomething gets created started
}
private class ClassThatDoSomething {
public void start()
{
Runnable runnable = new Runnable() {
public void run(){
messageSender.send(message);
}
Thread thread = new Thread(runnable);
thread.start();
}
}
private class MessageSender implements Runnable {
public void send(String message) { //... }
public void run() { //...}
}
}
答案 0 :(得分:0)
您可以将代码放入Eclipse中,运行'Refactor:将成员类型转换为toplevel',然后检查结果。