您的位置:程序门 -> java -> 架构、设计



java template static成员的问题


[收藏此页] [打印本页]选择字色:背景色:字体:[][][]


java template static成员的问题
发表于:2007-12-24 14:10:07 楼主
请看一个例子:
//   ipublisher.java
public   interface   ipublisher   {
                void   publish();
}
//   isubscriber.java
public   interface   isubscriber   {
void   process(ipublisher   p);
}

//   tevent.java
public   class   tevent <e   extends   ipublisher>   implements   ipublisher   {
              public   final   static   concurrentskiplistmap <integer,   isubscriber>   subscribers   =   new   concurrentskiplistmap <integer,   isubscriber> ();

              public   void   publish()   {
for(isubscriber   s   :   subscribers.values())   {
s.process(this);
}
}
}

//   event1.java
public   class   event1   extends   tevent <event1>   {}
//   event2.java
public   class   event2   extends   tevent <event2>   {}

问题:
event1.subscribers   和   event2.subscribers竟然是同一个东西???
我想要的是,不同的event类有各自的subscribers队列,
请问,java可以实现这样的需求吗?怎么实现?受教了
发表于:2007-12-24 14:31:131楼 得分:0
event2和event1继承ipublisher   并生成publish();   就可以了。
发表于:2007-12-24 14:47:102楼 得分:0
我的本意是event1和event2有各自的定购队列,不互相影响,又能够公用代码。
楼上的能详细说明,并给出代码吗?
发表于:2007-12-26 15:27:483楼 得分:0
so   easy
把public       final       static       concurrentskiplistmap   <integer,       isubscriber>       subscribers       =       new       concurrentskiplistmap   <integer,       isubscriber>   ();  
改成非静态的就好了.


快速检索

赞助商
最新资讯
热门点击