日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程语言 > java >内容正文

java

Java中使用Observer接口和Observable类实践Observer观察者模式

發(fā)布時間:2025/7/14 java 40 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Java中使用Observer接口和Observable类实践Observer观察者模式 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

??在Java中通過Observable類和Observer接口實現(xiàn)了觀察者模式。實現(xiàn)Observer接口的對象是觀察者,繼承Observable的對象是被觀察者。

1.?實現(xiàn)觀察者模式 實現(xiàn)觀察者模式非常簡單, [1]創(chuàng)建被觀察者類,它繼承自java.util.Observable類; [2]創(chuàng)建觀察者類,它實現(xiàn)java.util.Observer接口; [3]對于被觀察者類, 添加它的觀察者:
void addObserver(Observer?o)
addObserver()方法把觀察者對象添加到觀察者對象列表中。 當(dāng)被觀察事件發(fā)生時,執(zhí)行:
setChanged(); notifyObservers();
setChanged()方法用來設(shè)置一個內(nèi)部標(biāo)志位注明數(shù)據(jù)發(fā)生了變化;notifyObservers()方法會去調(diào)用觀察者對象列表中所有的Observer的update()方法,通知它們數(shù)據(jù)發(fā)生了變化。 只有在setChange()被調(diào)用后,notifyObservers()才會去調(diào)用update()。 [4]對于觀察者類,實現(xiàn)Observer接口的唯一方法update
void update(Observable?o, Object?arg)
形參Object?arg,對應(yīng)一個由notifyObservers(Object?arg);傳遞來的參數(shù),當(dāng)執(zhí)行的是notifyObservers();時,arg為null。 下面給出一個簡單的示例: package designpattern_observer;import java.util.Observable;public class MyButtonObserable extends Observable {private String clickMode;public String getClickMode() {return clickMode;}public void setClickMode(String clickMode) {this.clickMode = clickMode;this.setChanged();this.notifyObservers(clickMode);} } package designpattern_observer;import java.util.Observable; import java.util.Observer;public class MyTextBoxAbserver implements Observer {@Overridepublic void update(Observable o, Object arg) {if (arg.toString().equals("double clicked")) {System.out.println("你對按鈕執(zhí)行了雙擊操作.");}} }

Test類:

package designpattern_observer;public class ObserverTest {public static void main(String[] args) {MyButtonObserable button = new MyButtonObserable();MyTextBoxAbserver textbox = new MyTextBoxAbserver(); button.addObserver(textbox);button.setClickMode("double clicked");} }

執(zhí)行入口函數(shù),調(diào)用?button.setClickMode("double clicked"),則觸發(fā)MyTextBoxAbserver 對象的update方法,打印輸出:

你對按鈕執(zhí)行了雙擊操作.

總結(jié)

以上是生活随笔為你收集整理的Java中使用Observer接口和Observable类实践Observer观察者模式的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 白洁av | 久久人妻少妇嫩草av | 91久久久国产精品 | 成人午夜视频在线播放 | 欧美视频一区二区三区四区 | 日欧视频| 91久久久久一区二区 | 国产又粗又猛又黄又爽的视频 | 日日夜夜免费精品视频 | 久久青草热 | 一区二区三区在线视频播放 | 成人不卡av| 国产冒白浆 | 亚洲欧美在线综合 | 天堂аⅴ在线最新版在线 | 114国产精品久久免费观看 | 国产剧情久久久 | 在线观看国产 | 成人羞羞在线观看网站 | 亚洲专区视频 | 黄色短视频在线播放 | 亚洲av区无码字幕中文色 | 欧美在线另类 | 亚洲在线免费看 | 亚洲欧美v | 免费黄色网址大全 | 亚洲911精品成人18网站 | 黄片毛片在线 | 国内成人精品 | 久久久久久影院 | 国产精一区 | 神马久久久久久久久久 | 在线免费色 | 91国在线观看 | 枫花恋在线观看 | 99久久婷婷国产一区二区三区 | 欧美日韩激情一区二区 | 国产精品一区二三区 | 免费播放黄色片 | 午夜精品网 | 都市激情 亚洲 | 欧美日韩极品 | 日韩一级片一区二区 | 特级西西444www大精品视频免费看 | 日本一区三区 | av影音先锋 | 污污视频在线免费观看 | 乌克兰毛片| 神马久久香蕉 | 国产精品视频导航 | 伊人一级片| 亚日韩欧美| 九九热精彩视频 | av手机| 欧美激情一区二区三级高清视频 | 男人晚上看的视频 | 中文字幕无线码一区 | 三级免费看 | 成人福利院 | 无码人妻精品一区二区三区夜夜嗨 | 国内自拍青青草 | 成人免费网站在线 | 免费三级大片 | 九九久久九九久久 | 蜜桃视频一区二区三区 | 97国产精品视频人人做人人爱 | 亚洲欧美日本一区二区 | aaa午夜| 精品国产一区二区三区久久狼黑人 | 国精产品一区一区三区有限公司杨 | 欧美精品1区 | aaa在线 | 少妇理论片 | 大学生av| 风流老熟女一区二区三区 | 久草视频在线免费看 | 91蝌蚪少妇偷拍 | 日韩一级黄色大片 | 一级成人黄色片 | 黑料视频在线 | 麻豆亚洲 | 蜜桃av网站 | 91久久婷婷 | 一区二区啪啪啪 | 日本理论中文字幕 | 日本a级片免费 | 一区二区成人在线观看 | 日色网站 | www.com欧美| 国产精品国语对白 | 视色影视| 五月天丁香在线 | 毛片网页| 性欧美高清 | 一级黄色性生活片 | 五个女闺蜜把我玩到尿失禁 | 色七七在线 | 久久成人网18网站 | 国产精选视频 |