以下是一个简单的示例代码,用于监听在线人数的变化。

import java.util.ArrayList;
import java.util.List;

class OnlineUserListener {
    private int onlineUserCount;
    private List<OnlineUserListenerCallback> callbacks;

    public OnlineUserListener() {
        this.onlineUserCount = 0;
        this.callbacks = new ArrayList<>();
    }

    public void incrementOnlineUserCount() {
        onlineUserCount++;
        notifyCallbacks();
    }

    public void decrementOnlineUserCount() {
        onlineUserCount--;
        notifyCallbacks();
    }

    public int getOnlineUserCount() {
        return onlineUserCount;
    }

    public void addCallback(OnlineUserListenerCallback callback) {
        callbacks.add(callback);
    }

    public void removeCallback(OnlineUserListenerCallback callback) {
        callbacks.remove(callback);
    }

    private void notifyCallbacks() {
        for (OnlineUserListenerCallback callback : callbacks) {
            callback.onOnlineUserCountChanged(onlineUserCount);
        }
    }
}

interface OnlineUserListenerCallback {
    void onOnlineUserCountChanged(int count);
}

class ExampleUsage {
    public static void main(String[] args) {
        OnlineUserListener listener = new OnlineUserListener();

        // 添加回调函数
        listener.addCallback(new OnlineUserListenerCallback() {
            @Override
            public void onOnlineUserCountChanged(int count) {
                System.out.println("在线人数变为:" + count);
            }
        });

        // 模拟用户登录、注销过程
        listener.incrementOnlineUserCount(); // 用户1登录
        listener.incrementOnlineUserCount(); // 用户2登录
        listener.decrementOnlineUserCount(); // 用户2注销
        listener.incrementOnlineUserCount(); // 用户3登录
    }
}

运行上述代码,将输出以下结果:

在线人数变为:1
在线人数变为:2
在线人数变为:1
在线人数变为:2

这个示例代码中,OnlineUserListener 类负责监听在线人数的变化,并通知所有注册的回调函数。OnlineUserListenerCallback 接口定义了回调函数的方法。在 ExampleUsage 类中,我们创建了一个 OnlineUserListener 对象,并添加了一个回调函数来处理在线人数变化的事件。然后,我们调用 incrementOnlineUserCountdecrementOnlineUserCount 方法来模拟用户登录和注销的过程。每次在线人数发生变化时,回调函数的 onOnlineUserCountChanged 方法会被调用,并输出当前的在线人数

java:监听在线人数代码效果

原文地址: http://www.cveoy.top/t/topic/hJmE 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录