千家信息网

java中如何实现观察者模式

发表于:2024-10-02 作者:千家信息网编辑
千家信息网最后更新 2024年10月02日,本篇文章给大家分享的是有关java中如何实现观察者模式,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。public class Teach
千家信息网最后更新 2024年10月02日java中如何实现观察者模式

本篇文章给大家分享的是有关java中如何实现观察者模式,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。

public class Teacher extends Observable {    private String content;    public void setHomework(final String content) {        this.content = content;        System.out.println("布置的作业是:" + content);        /**         * 标记对象已更改,更改后才能通知         */        setChanged();        /**         * 通知观察者,会调用观察者update方法         */        notifyObservers();    }    public String getContent() {        return this.content;    }}
public class Student implements Observer {    private final Observable observable;    private final String name;    public Student(Observable observable, String name) {        this.observable = observable;        this.name = name;        observable.addObserver(this);    }    @Override    public void update(Observable o, Object arg) {        if (o instanceof Teacher) {            Teacher teacher = (Teacher) o;            System.out.println(name + "得到作业信息:" + teacher.getContent());        }    }}
public class Test {    public static void main(String[] args) {        /**         *  instance observable         */        Teacher teacher = new Teacher();        Student s1 = new Student(teacher, "张三");        Student s2 = new Student(teacher, "李四");        Student s3 = new Student(teacher, "王五");        teacher.setHomework("第二页第六题");        teacher.setHomework("第三页第七题");        teacher.setHomework("第五页第八题");    }}

输出信息:

以上就是java中如何实现观察者模式,小编相信有部分知识点可能是我们日常工作会见到或用到的。希望你能通过这篇文章学到更多知识。更多详情敬请关注行业资讯频道。

0