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

相关文章
|
1月前
|
分布式计算 Java Hadoop
Hadoop-30 ZooKeeper集群 JavaAPI 客户端 POM Java操作ZK 监听节点 监听数据变化 创建节点 删除节点
Hadoop-30 ZooKeeper集群 JavaAPI 客户端 POM Java操作ZK 监听节点 监听数据变化 创建节点 删除节点
62 1
|
1月前
|
Java C#
Java的监听处理事件--小球移动案例
Java的监听处理事件--小球移动案例
13 0
|
4月前
|
关系型数据库 MySQL Java
|
5月前
|
Java Android开发
Java Socket编程示例:服务器开启在8080端口监听,接收客户端连接并打印消息。
【6月更文挑战第23天】 Java Socket编程示例:服务器开启在8080端口监听,接收客户端连接并打印消息。客户端连接服务器,发送&quot;Hello, Server!&quot;后关闭。注意Android中需避免主线程进行网络操作。
100 4
|
5月前
|
存储 Java 数据库
Java一分钟之-JPA实体监听器:@PrePersist, @PostLoad
【6月更文挑战第15天】JPA实体监听器通过`@PrePersist`等注解在实体生命周期关键点执行逻辑,例如设置默认值或处理并发更新。常见问题包括监听器未注册、并发冲突和性能影响。示例展示了如何在`@PrePersist`中设置默认创建时间和`@PostLoad`时初始化关联数据。使用监听器能增强灵活性,但也需注意潜在问题和优化。
128 6
|
4月前
|
存储 程序员
JavaWeb之Listener监听器
JavaWeb之Listener监听器
76 0
|
5月前
|
前端开发 JavaScript 算法
javaweb(四)——过滤器与监听器
javaweb(四)——过滤器与监听器
|
6月前
|
Java 程序员 应用服务中间件
JavaWeb之过滤器(Filter)与监听器(Listener)
本文介绍了JavaWeb中的过滤器(Filter)和监听器(Listener)概念及其使用。过滤器主要用于拦截和处理Web资源请求,如进行编码设置、权限验证等,它在Servlet之前和之后执行。监听器则监听域对象(如ServletRequest、HttpSession、ServletContext)状态变化,分为创建/销毁监听和属性变化监听。监听器在Web.xml中注册后会在相应事件发生时自动执行,例如用于统计网站访问人数或初始化配置。
|
6月前
|
设计模式 XML 前端开发
JavaWeb 会话_过滤_监听器
JavaWeb 会话_过滤_监听器
52 0
|
6月前
|
Java
javaWeb监听器Listener(三)定时清理session
javaWeb监听器Listener(三)定时清理session