java:监听在线人数代码效果
以下是一个简单的示例代码,用于监听在线人数的变化。
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 对象,并添加了一个回调函数来处理在线人数变化的事件。然后,我们调用 incrementOnlineUserCount 和 decrementOnlineUserCount 方法来模拟用户登录和注销的过程。每次在线人数发生变化时,回调函数的 onOnlineUserCountChanged 方法会被调用,并输出当前的在线人数
原文地址: http://www.cveoy.top/t/topic/hJmE 著作权归作者所有。请勿转载和采集!