gpt4 book ai didi

c# - Java 中 C# 事件的替代

转载 作者:太空狗 更新时间:2023-10-29 22:49:00 24 4
gpt4 key购买 nike

我是 .Net 开发人员。我想知道 Java 中是否有类似 C# 的事件处理机制。

我想做的是在某些情况下从我的类(class)引发/触发一个事件。此类的使用者应注册该事件并编写事件处理方法。

这可以在 C# 中轻松完成。我必须用 Java 实现这个东西。

在谷歌搜索后我找到了一些链接,但所有这些都在谈论 AWT 和 swing 中的 GUI 事件。

谁能帮帮我。

最佳答案

虽然大部分示例都是与 GUI 事件有关,但原理基本相同。您基本上需要一个接口(interface)或抽象类来表示事件的处理程序,例如

public interface EventHandler
{
// Change signature as appropriate of course
void handleEvent(Object sender, EventArgs e);
}

那么事件的发布者将:

public void addEventHandler(EventHandler handler)
public void removeEventHandler(EventHandler handler)

它会自己保留一个事件处理程序列表,或者可能将它们封装在可重用的类型中。然后当事件发生时,您只需在每个处理程序中依次调用 handleEvent

您可以认为 C# 中的委托(delegate)类型与 Java 中的单一方法接口(interface)非常相似,而事件实际上只是一对添加/删除方法。

关于c# - Java 中 C# 事件的替代,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1530461/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com