首页 > 编程语言 >java观察者模式

java观察者模式

时间:2023-03-05 22:32:36浏览次数:37  
标签:Observable java String 观察者 模式 content radio Reader public


1、广播站

package observer;

import java.util.Observable;

//广播站
public class Radio extends Observable{
private String content;
public void broadcast(String content){
this.content = content;
//有新内容
setChanged();
//广播
notifyObservers();
}


public String getContent() {
return content;
}
public void setContent(String content) {
this.content = content;
}
}

2、收听者

package observer;

import java.util.Observable;
import java.util.Observer;

public class Reader implements Observer{
//持有广播的引用(手里拿着收音机)
Observable radio;
Reader(Observable radio){
this.radio = radio;
radio.addObserver(this);
}

//接收到广播,并且输出内容
@Override
public void update(Observable radio, Object arg1) {
Radio r = (Radio)radio;
System.out.println("get:"+r.getContent());
}

}

3、应用程序

package observer;

public class Main {

public static void main(String[] args) {
//创建一个广播站
Radio r = new Radio();

//创建两个收听者
Reader reader1 = new Reader(r);
Reader reader2 = new Reader(r);

//广播站发通知
r.broadcast("testing...");
}

}

4、输出结果

java观察者模式_观察者模式

5、总结
观察者模式


标签:Observable,java,String,观察者,模式,content,radio,Reader,public
From: https://blog.51cto.com/u_15990596/6101729

相关文章

  • Java_异常链
    emm其实就是异常一直抛出传递,但是最后只会显示最后一个异常,这就是异常链。   需要用到Trowable的cause属性但是除了Error、Exception和RuntimeException外,都不存......
  • JAVA多线程(四)--锁的定义
    一、乐观锁乐观锁是一种乐观思想,即认为读多写少,遇到并发写的可能性低,每次拿数据时都认为别人不会修改,所以不会上锁,但是在更新的时候会判断一下在此期间别人有没有去更新这......
  • JAVA--关于递归
    递归概念: 方法直接或者间接的方式调用自己本身,这样的形式称为递归递归的三要素: 1、要有边界条件,也就是停止递归的条件; 2、有点像循环,需要给一个前进条件,每次......
  • 访问者模式
    访问者模式应用场景(实际问题需求)与传统实现方式例如:完成一个测评系统:将观众分为男人和女人,对歌手进行测评,当看完某个歌手表演后,得到他们对该歌手不同的评价......
  • Java小练习--统计字符串中字母和数字的个数
    题目统计字符串中字母和数字的个数完整代码packagetestimportjava.util.Scanner;publicclasscustomer1{publicstaticvoidmain(Stringargs[]){System.out.......
  • java-springmvc
    1、入门案例1.1、导包<dependency> <groupId>org.springframework</groupId> <artifactId>spring-webmvc</artifactId> <version>5.3.18</version></dependency><de......
  • 设计模式-javascript实现【迭代器模式】
    定义:迭代器模式是指提供一种方法顺序访问一个聚合对象中的各个元素,而又不需要暴露该对象的内部表示。迭代器模式可以把迭代的过程从业务逻辑中分离出来,在使用迭代器模式之......
  • Java基础随笔(2)static静态详解
    1packagecom.chapter;23classBowl{4Bowl(intmarker){5System.out.println("Bowl+("+marker+")");6}78voidf1(int......
  • Book-深入设计模式-适配器模式
    Book-深入设计模式-适配器模式https://refactoringguru.cn/design-patterns/adapter适配器模式亦称:封装器模式、Wrapper、Adapter适配器模式是一种结构型设计模式,它......
  • Java位集合之BitMap,BitSet解析
    目录1Java位集合1.1Bit-Map1.1.1简介1.1.2添加1.1.3清除1.1.4查找1.2Bitmap应用1.2.1快速排序1.2.2快速去重1.2.3快速查找1.3BitSet1.4BloomFilters1.4.1简......