[ 登录 ][ 注册 ] 天极传媒: 比特网 | 天极网 | IT专家网 | IT商网 | 52PK游戏网 | 手机天极 | IT分众 |
您现在的位置: IT专家网 > Web服务子站 > Java技术

如何在内部类中返回外部类对象

作者: 执木,  出处:IT专家网论坛, 责任编辑: 包春林, 
2008-11-20 04:00
  本文讨论的不是内部类的概念,而是具体使用的一个场景-如何在内部类中返回外部对象,在一个GUI系统中,我们要在画板WorkSpace(WorkSpace实现了IListener接口)上产生一颗树,但树中的每个节点的产生(绘图)是我们不知道的算法,系统只为我们提供了一些绘图的接口,并返回元素的句柄!

  先看一段代码

  

      import java.util.LinkedList;

  import java.util.List;

  public class OuterClass

  {

  private List listeners = new LinkedList();

  public void addListeners(IListener listener)

  {

  this.listeners.add(listener);

  }

  private OuterClass outer = this; (1)

  private class InnterClass

  {

  public void publish()

  {

  //将事件发布出去 (2)

  for(int i=0;i < listeners.size();i++)

  {

  IListener listener = (IListener) listeners.get(i);

  listener.receiveEvent(outer);

  }

  }

  }

  public void execute()

  {

  InnterClass in = new InnterClass(); (3)

  in.publish();

  }

  }

  public interface IListener

  {

  public void receiveEvent(OuterClass obj);

  }

共2页。 1 2 下一页 末页
  • 本文关键词:

网友评论

笔名 
请您注意:遵守国家有关法律、法规,尊重网上道德,承担一切因您的行为而直接或间接引起的法律责任。    IT专家网友拥有管理笔名和留言的一切权利。

邮件订阅