我有一个简单的问题:爪哇 - 执行方法只有一次
Class A{
B b;
public void doSth{
//This method should execute only once
b.modify(); //calls doSth() again...
}
}
在程序运行时,A的一个实例传递给B和B调用doSth(如例如回调)。 b.modify
使B再次呼叫A.doSth()
,这将调用的无限序列。我想实现的是这样的:我想执行doSth()一次,修改B,然后在下一次执行时以某种方式停止无限制调用链并且不执行b.modify
。
任何建议非常感谢。
为什么不使用标志,你第一次设置为false? – thegrinner 2012-08-06 13:04:45
您可以实现例如给方法增加一个参数,但这不是更多的设计问题吗?你想要建模什么? – twoflower 2012-08-06 13:05:45
根据编码准则,这将被视为循环依赖性,应该避免。既然你问了,我们可以在A类中维护一个静态布尔类型,它只控制一次类A中doSth的执行。 – sundar 2012-08-06 13:06:35