<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ??一站式輕松地調用各大LLM模型接口,支持GPT4、智譜、豆包、星火、月之暗面及文生圖、文生視頻 廣告
                # 對象間的聯動——觀察者模式(四) 22.4 JDK對觀察者模式的支持 觀察者模式在Java語言中的地位非常重要。在JDK的java.util包中,提供了Observable類以及Observer接口,它們構成了JDK對觀察者模式的支持。如圖22-5所示: ![](http://my.csdn.net/uploads/201207/06/1341504430_1842.jpg) 圖22-5 JDK提供的Observable類及Observer接口結構圖 (1) Observer接口 在java.util.Observer接口中只聲明一個方法,它充當抽象觀察者,其方法聲明代碼如下所示: ``` void update(Observable o, Object arg); ``` 當觀察目標的狀態發生變化時,該方法將會被調用,在Observer的子類中將實現update()方法,即具體觀察者可以根據需要具有不同的更新行為。當調用觀察目標類Observable的notifyObservers()方法時,將執行觀察者類中的update()方法。 (2) Observable類 java.util.Observable類充當觀察目標類,在Observable中定義了一個向量Vector來存儲觀察者對象,它所包含的方法及說明見表22-1: 表22-1 Observable類所包含方法及說明 | 方法名 | 方法描述 | Cool | |------------------------------------------------|:------------------------------------------------------------------------------------------------------------------:|------:| | Observable() | 構造方法,實例化Vector向量。 | $1600 | | addObserver(Observer o) | 用于注冊新的觀察者對象到向量中。 | $12 | | deleteObserver (Observer o) | 用于刪除向量中的某一個觀察者對象。 | $1 | | notifyObservers()和notifyObservers(Object arg) | 通知方法,用于在方法內部循環調用向量中每一個觀察者的update()方法。 | | | deleteObservers() | 用于清空向量,即刪除向量中所有觀察者對象。 | | | setChanged() | 該方法被調用后會設置一個boolean類型的內部標記變量changed的值為true,表示觀察目標對象的狀態發生了變化。 | | | clearChanged() | 用于將changed變量的值設為false,表示對象狀態不再發生改變或者已經通知了所有的觀察者對象,調用了它們的update()方法。 | | | hasChanged() | 用于測試對象狀態是否改變。 | | | countObservers() | 用于返回向量中觀察者的數量。 | | 我們可以直接使用Observer接口和Observable類來作為觀察者模式的抽象層,再自定義具體觀察者類和具體觀察目標類,通過使用JDK中的Observer接口和Observable類,可以更加方便地在Java語言中應用觀察者模式。
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看