java实现一个简单的监听器

简介: java实现一个简单的监听器

在 Java 中,我们可以通过实现监听器(Listener)模式来处理事件和回调。监听器模式是一种常见的设计模式,用于实现对象间的松耦合通信。本文将介绍如何在 Java 中实现一个简单的监听器。

步骤

以下是实现一个监听器的基本步骤:

  1. 定义监听器接口:
public interface MyListener {
    void onEvent(Event event);
}
  1. 实现监听器类:
public class MyListenerImpl implements MyListener {
    @Override
    public void onEvent(Event event) {
        System.out.println("Event received: " + event.getData());
    }
}
  1. 创建事件类:
public class Event {
    private String data;

    public Event(String data) {
        this.data = data;
    }

    public String getData() {
        return data;
    }
}
  1. 创建事件源类:
import java.util.ArrayList;
import java.util.List;

public class EventSource {
    private List<MyListener> listeners = new ArrayList<>();

    public void addListener(MyListener listener) {
        listeners.add(listener);
    }

    public void removeListener(MyListener listener) {
        listeners.remove(listener);
    }

    public void fireEvent(Event event) {
        for (MyListener listener : listeners) {
            listener.onEvent(event);
        }
    }
}
  1. 使用监听器:
public class Main {
    public static void main(String[] args) {
        EventSource eventSource = new EventSource();
        MyListener listener = new MyListenerImpl();
        eventSource.addListener(listener);

        Event event = new Event("Hello, World!");
        eventSource.fireEvent(event);

        eventSource.removeListener(listener);
    }
}


结论

通过实现监听器模式,我们可以在 Java 中实现对象间的事件通信。监听器模式将事件的产生和处理解耦,提高了代码的可维护性和可扩展性。在实际开发中,我们可以根据需要自定义事件和监听器,并将其应用于各种场景。

目录
相关文章
|
9月前
|
Java
25JavaWeb基础 - 监听器
25JavaWeb基础 - 监听器
45 1
|
15天前
|
存储 Java 数据库
Java一分钟之-JPA实体监听器:@PrePersist, @PostLoad
【6月更文挑战第15天】JPA实体监听器通过`@PrePersist`等注解在实体生命周期关键点执行逻辑,例如设置默认值或处理并发更新。常见问题包括监听器未注册、并发冲突和性能影响。示例展示了如何在`@PrePersist`中设置默认创建时间和`@PostLoad`时初始化关联数据。使用监听器能增强灵活性,但也需注意潜在问题和优化。
22 6
|
4天前
|
前端开发 JavaScript 算法
javaweb(四)——过滤器与监听器
javaweb(四)——过滤器与监听器
|
2月前
|
Java 程序员 应用服务中间件
JavaWeb之过滤器(Filter)与监听器(Listener)
本文介绍了JavaWeb中的过滤器(Filter)和监听器(Listener)概念及其使用。过滤器主要用于拦截和处理Web资源请求,如进行编码设置、权限验证等,它在Servlet之前和之后执行。监听器则监听域对象(如ServletRequest、HttpSession、ServletContext)状态变化,分为创建/销毁监听和属性变化监听。监听器在Web.xml中注册后会在相应事件发生时自动执行,例如用于统计网站访问人数或初始化配置。
|
2月前
|
设计模式 XML 前端开发
JavaWeb 会话_过滤_监听器
JavaWeb 会话_过滤_监听器
31 0
|
12月前
|
XML Java API
java中过滤器和监听器详解(一)
java中过滤器和监听器详解(一)
133 0
|
2月前
|
Java
javaWeb监听器Listener(三)定时清理session
javaWeb监听器Listener(三)定时清理session
|
2月前
javaWeb监听器Listener -自定义监听器类实现
javaWeb监听器Listener -自定义监听器类实现
|
2月前
javaWeb监听器Listener(一)
javaWeb监听器Listener(一)
|
12月前
|
Java 应用服务中间件
Java Web应用开发案例|使用监听器统计Web站点的在线用户数
HttpSessionListener监听器,主要用于监听HttpSession对象的生命期变化,如创建session和释放session事件。一个session代表一个在线用户,因此常用HttpSessionListener监听器跟踪管理在线用户。
243 0
Java Web应用开发案例|使用监听器统计Web站点的在线用户数