一种选择是创建第三个类,它可以保留对两者的引用:
class ComManager {
// getter and setter for Conversation
// getter and setter for HunterCom
}
然后实例化此类并将其作为 arg 传递给您的两个对象:
ComManager com = new ComManager();
Conversation c = new Conversation(com);
HunterCom ns = new HunterCom(com);
现在,这两个对象都有一个对 的引用,它对和com
都有 getter 方法,可以在它们的每个线程运行时使用。Conversation
HunterCom
第二个选项是改变你实例化事物的顺序 - 创建Conversation
并且HunterCom
不带参数,然后像这样相互分配引用:
Conversation c = new Conversation();
HunterCom ns = new HunterCom();
c.setHunterCom(ns);
ns.setConversation(c);
可能还有其他几个类似的选项;希望这将为您提供一个起点,以找到其他模式并为您提供所需的内容。