-1

我开始研究观察者设计模式,通过分析代码遇到了一些问题。

public void notifyObservers() {
    for (Observer ob : observers) {
        System.out.println("Notifying Observers on change in Loan interest rate");
        ob.update(this.interest);
    }
}

我不明白这部分:Observer ob : observers这代表什么?

4

2 回答 2

5

它相当于:

for (Iterator<Observer> itr = observers.iterator(); itr.hasNext();)
{
   Observer ob = itr.next();
   ...
} 

但是..更具可读性。

于 2013-06-09T17:33:42.670 回答
1

Observer对于在集合中实现接口的每个对象,请执行observers以下操作:

System.out.println("Notifying Observers on change in Loan interest rate");
ob.update(this.interest);

ob是集合中for-each每个对象的循环中的临时名称observers

于 2013-06-09T17:32:28.187 回答