【Java后端开发】SpringBoot使用观察者模式

该博客展示了如何使用Java的观察者模式实现教师(Teacher)与学生(Student)之间的交互。教师(Teacher)类继承了Observable类,当调用doSomething方法时,会通知所有订阅的学生。学生(Student)类实现了Observer接口,接收到通知后打印相应信息。在STTest测试类中创建了教师对象并添加了两个学生观察者,然后触发教师的doSomething方法,输出了学生接收到通知的响应。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Teacher.java

package com.ruoyi.lichun;

import java.util.Observable;

/**
 * @Author: xinglibao
 * @Date: 2022/7/21 14:35
 */
public class Teacher extends Observable {
    public void doSomething(String info) {
        System.out.println(info);
        setChanged();
        notifyObservers(info);
    }
}

Student.java

package com.ruoyi.lichun;

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

/**
 * @Author: xinglibao
 * @Date: 2022/7/21 14:36
 */
public class Student implements Observer {
    private String name;

    public Student(String name) {
        this.name = name;
    }

    @Override
    public void update(Observable o, Object arg) {
        System.out.println(name + ":老师来啦!!");
    }
}

STTest.java

package com.ruoyi.lichun;

/**
 * @Author: xinglibao
 * @Date: 2022/7/21 14:36
 */
public class STTest {
    public static void main(String[] args) {
        Teacher teacher = new Teacher();

        Student student1 = new Student("邢立豹");
        Student student2 = new Student("王春婷");
        teacher.addObserver(student1);
        teacher.addObserver(student2);

        teacher.doSomething("我马上来啦,你们小心点");
    }
}

运行结果

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

枯木何日可逢春

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值