东莞建设网站官网住房和城乡资料xuzhou网站制作

张小明 2026/1/8 11:45:02
东莞建设网站官网住房和城乡资料,xuzhou网站制作,自己做网站服务器要多少钱,北京红酒网站建设观察者模式应用场景 在我们开发的过程中#xff0c;经常会遇到一些当什么什么事情发生的时候#xff0c;然后做什么什么事。比如某种商品的物价上涨时会导致部分商家高兴#xff0c;而消费者伤心。 代码示例 抽象被观察者类 package com.demo.test.observe.abs;import java.…观察者模式应用场景在我们开发的过程中经常会遇到一些当什么什么事情发生的时候然后做什么什么事。比如某种商品的物价上涨时会导致部分商家高兴而消费者伤心。代码示例抽象被观察者类package com.demo.test.observe.abs; import java.util.ArrayList; import java.util.List; public abstract class Subject { private ListObserve observeList new ArrayList(); public void attach(Observe observe){ this.observeList.add(observe); }; public void detach(Observe observe){ this.observeList.remove(observe); }; public void allNotify(){ for(Observe observe:observeList){ observe.update(); } } }抽象观察者类package com.demo.test.observe.abs; public abstract class Observe { public abstract void update(); }具体被观察者类package com.demo.test.observe; import com.demo.test.observe.abs.Subject; import java.util.List; public class SubjectA extends Subject { }具体观察者1package com.demo.test.observe; import com.demo.test.observe.abs.Observe; public class StudentObserve extends Observe { public void update(){ System.out.println(老师来了快坐好); } }具体观察者2package com.demo.test.observe; import com.demo.test.observe.abs.Observe; public class StudentBObserve extends Observe { Override public void update() { System.out.println(老师来了别吃了); } }客户端package com.demo.test.observe; import com.demo.test.observe.abs.Observe; import com.demo.test.observe.abs.Subject; public class Client { public static void main(String[] args){ Subject subjectA new SubjectA(); Observe studentObserve new StudentObserve(); subjectA.attach(studentObserve); subjectA.attach(new StudentBObserve()); subjectA.allNotify(); } }JAVA 自带的观察者类被观察者package com.demo.test.observe.javaObserve; import java.util.Observable; public class Subject1 extends Observable { public void change(){ setChanged(); //如果不执行setChanged就不会调用update函数。 } }观察者Apackage com.demo.test.observe.javaObserve; import java.util.Observable; import java.util.Observer; public class ObserveA implements Observer { Override public void update(Observable o, Object arg) { System.out.println(java 自带观察者A); } }观察者Bpackage com.demo.test.observe.javaObserve; import java.util.Observable; import java.util.Observer; public class ObserveB implements Observer { Override public void update(Observable o, Object arg) { System.out.println(java 自带观察者B); } }客户端package com.demo.test.observe.javaObserve; import java.util.Observable; import java.util.Observer; public class Client { public static void main(String[] args){ Subject1 subject new Subject1(); Observer observerA new ObserveA(); Observer observerB new ObserveB(); subject.addObserver(observerA); subject.addObserver(observerB); //这一步主要调用里面的setChanged否则update不执行。setChanged必须在Observable继承类内执行因为它是protected修饰的。 subject.change(); subject.notifyObservers(); } }© 著作权归作者所有,转载或内容合作请联系作者平台声明文章内容如有图片或视频亦包括在内由作者上传并发布文章内容仅代表作者本人观点简书系信息发布平台仅提供信息存储服务喜欢的朋友记得点赞、收藏、关注哦
版权声明:本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!

ac86u做网站服务器上海电子商务网站

博主介绍:✌️码农一枚 ,专注于大学生项目实战开发、讲解和毕业🚢文撰写修改等。全栈领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围:&am…

张小明 2026/1/7 4:54:53 网站建设

东莞网站建设方案服务wordpress停止循环

掌握Avizo:让你的多媒体按键控制体验焕然一新 【免费下载链接】avizo A neat notification daemon 项目地址: https://gitcode.com/gh_mirrors/avi/avizo 还在为按下音量键却看不到反馈而烦恼吗?Avizo这款轻量级通知守护进程正是你需要的解决方案…

张小明 2026/1/7 2:23:29 网站建设

商城网站建设4262靖江做网站哪家好

快速体验 打开 InsCode(快马)平台 https://www.inscode.net输入框内输入如下内容: 创建一个chmod效率对比工具,功能包括:1) 自动统计手动修改多层目录权限所需时间 2) 测量使用chmod -R的耗时 3) 生成效率对比图表 4) 提供批量权限修改建议 …

张小明 2026/1/7 4:26:27 网站建设

广州海珠网站设计企业整体形象设计

2025年起,高校已明确要求毕业论文要检测AIGC率,AI率高于30%或40%就不能参加答辩,而部分学校、硕士论文更加严格,要求在20%以内。 这其中,大多数高校使用的AIGC检测系统是知网、万方、维普等主流查重系统,这…

张小明 2026/1/7 5:15:35 网站建设

哈尔滨建站做网站时如何去掉网站横条

Ultralytics YOLOv11终极性能优化:从配置到实战的完整指南 【免费下载链接】ultralytics ultralytics - 提供 YOLOv8 模型,用于目标检测、图像分割、姿态估计和图像分类,适合机器学习和计算机视觉领域的开发者。 项目地址: https://gitcode…

张小明 2026/1/7 7:07:19 网站建设

企业网站建站费用网页制作基础教程pdf

使用MRTG进行网络监控的全面指南 1. SNMP配置基础 在使用MRTG进行网络监控之前,需要确保SNMP正常运行。以下是一些基本配置和测试方法: - SNMP配置选项 : - view :定义MIB树中哪些部分可以查看,示例允许访问整个树。 - group :创建命名组并将其映射到安全名称…

张小明 2026/1/7 14:56:59 网站建设