创建一个类,通过在 clojure 中覆盖来扩展类

2024-01-10

我有非常简单的java代码:

public class MessageListenerExample extends ListenerAdapter
{
    @Override
    public void onMessageReceived(MessageReceivedEvent event)
    {
        // do something with event
    }
}

但是,我似乎无法理解如何将该代码转换为 clojure 代码。文档和文章非常混乱。我也很高兴看到更多例子。我也有兴趣使用implements.


您可以使用proxy http://clojuredocs.org/clojure.core/proxy扩展现有的 Java 类并实现接口。例如:

(import '[java.awt.event ActionListener ActionEvent KeyAdapter KeyEvent])

(def listener
  (proxy
    ;; first vector contains superclass and interfaces that the created class should extend/implement
    [KeyAdapter ActionListener]
    ;; second vector contains arguments to superclass constructor
    []
    ;; below are all overriden/implemented methods
    (keyPressed [event]
      (println "Key pressed" event))
    (actionPerformed [action]
      (println "Action performed" action))))

(.keyPressed listener nil)
;; => Key pressed nil

(.actionPerformed listener nil)
;; => Action performed nil
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

创建一个类,通过在 clojure 中覆盖来扩展类 的相关文章

  • 如何在 Eclipse 中用阿拉伯语读写

    我在 eclipse 中编写了这段代码来获取一些阿拉伯语单词 然后打印它们 public class getString public static void main String args throws Exception PrintS
  • 检查双精度值的等于和不等于条件

    我在比较两者时遇到困难double values using and 我创建了 6 个双变量并尝试进行比较If健康 状况 double a b c d e f if a b c d e f My code here in case of t
  • 如何从另一个xml文件动态更新xml文件?

    我想从另一个 xml 文件更新 xml 文件 我使用了一个 xml 文件 如下所示 one xml
  • JTree 节点不会被直观地选择

    不知何故 我无法为我的 JTree 节点启用 选择突出显示 我正在我的项目中使用自定义单元格渲染器 这很可能导致此问题 这是完整的渲染器类代码 protected class ProfessionTreeCellRenderer exten
  • 无法加载 jar 文件的主类

    我使用 Eclipse IDE 开发了一个应用程序 创建应用程序后 我以 jar 格式导出项目 当我尝试运行此 jar 文件时 出现错误 无法加载主类 请帮忙 当您将项目导出为 jar 时 请参阅此所以问题 https stackoverf
  • 使用 Spring 时实例化对象,用于测试与生产

    使用 Spring 时 应该使用 Spring 配置 xml 来实例化生产对象 并在测试时直接实例化对象 这样的理解是否正确 Eg MyMain java package org world hello import org springf
  • Java 泛型/类型调度问题

    考虑以下程序 import java util List import java util ArrayList public class TypeTest public static class TypeTestA extends Type
  • Java:从元素创建 DOM 元素,而不是文档

    如您所知 在 Java 中创建 Dom 元素的正确方法是执行以下操作 import org w3c dom Document import org w3c dom Element Document d Element e e d creat
  • Android - 除了普通 SSL 证书之外还验证自签名证书

    我有一个通过 SSL 调用 Web 服务的 Android 应用程序 在生产中 我们将拥有由受信任的 CA 签名的普通 SSL 证书 但是 我们需要能够支持自签名证书 由我们自己的 CA 签名 我已经成功实施了接受自签名证书的建议解决方案
  • 服务器到 Firebase HTTP POST 结果为响应消息 200

    使用 Java 代码 向下滚动查看 我使用 FCM 向我的 Android 发送通知消息 当提供正确的服务器密钥令牌时 我收到如下所示的响应消息 之后从 FCM 收到以下响应消息 Response 200 Success Message m
  • 使用 java 按电子邮件发送日历邀请

    我正在尝试使用 java 发送每封电子邮件的日历邀请 收件人收到电子邮件 但不会显示接受或拒绝的邀请 而是将该事件自动添加到他的日历中 我正在使用 ical4j jar 构建活动 邀请 private Calendar getInvite
  • 想要开发像 Facebook 这样的网站 - 处理数百万个请求 - 高性能 [关闭]

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 help reopen questions 我想用 Java 开发一个像 Fac
  • Java:VM 如何在 32 位处理器上处理 64 位“long”

    JVM 如何在 32 位处理器上处理 64 位的原始 long 在多核 32 位机器上可以并行利用多个核心吗 64 位操作在 32 位机器上慢了多少 它可能使用多个核心来运行不同的线程 但不会并行使用它们进行 64 位计算 64 位长基本上
  • 如何在java中使jpeg无损?

    有没有人可以告诉我如何使用编写 jpeg 文件losslessjava中的压缩 我使用下面的代码读取字节来编辑字节 WritableRaster raster image getRaster DataBufferByte buffer Da
  • Python 中的 @staticmethod 与 @classmethod

    方法和方法有什么区别装饰的 https peps python org pep 0318 with staticmethod http docs python org library functions html staticmethod和
  • 将 RSA 密钥从 BigIntegers 转换为SubjectPublicKeyInfo 形式

    WARNING 最初的问题是关于 PKCS 1 编码密钥 而问题中的实际示例需要SubjectPublicKeyInfo X 509 编码密钥 我目前正致力于在 java 中从头开始实现 RSA 算法 特别是密钥生成方面 现在我的代码可以给
  • 如何在android sdk上使用PowerMock

    我想为我的 android 项目编写一些单元测试和仪器测试 然而 我遇到了一个困扰我一段时间的问题 我需要模拟静态方法并伪造返回值来测试项目 经过一些论坛的调查 唯一的方法是使用PowerMock来模拟静态方法 这是我的 gradle 的一
  • 从java中的字符串数组中删除空值

    java中如何从字符串数组中删除空值 String firstArray test1 test2 test4 我需要像这样没有 null 空 值的 firstArray String firstArray test1 test2 test4
  • 重写Object类的finalize()方法有什么用?

    据我所知 在java中如果我们想手动调用垃圾收集器 我们可以执行System gc 1 我们在重写的finalize 方法中做了哪些操作 2 如果我们想手动调用JVM垃圾收集器 是否需要重写finalize 方法 我们在重写的 Finali
  • 使用 eclipse IDE 配置 angularjs

    我想开始使用 AngularJs 和 Java Spring 进行开发 我使用 Eclipse 作为 IDE 我想配置我的 Eclipse 以使这些框架无缝工作 我知道我可能要求太多 但相信我 我已经做了很多研究 你们是我最后的选择 任何帮

随机推荐

  • java集合中next()和hasNext()的区别

    我是java新手 我正在浏览集合 并且在迭代过程中他们使用了next and hasNext 方法 这两个方法具体有什么作用呢 我什么时候必须使用next and hasNext hasNext 如果迭代有更多值 则返回 truenext
  • jQuery 单击功能仅适用于第一个元素

    我在使用 jQuery 时遇到了一些问题 我正在制作一个简单的 CMS 在界面中我有一个页面列表 每个列表项中都有一个编辑链接 我让 jQuery 监听带有该编辑 ID 的点击 然后 它会查看父 LI 以查看它具有什么 id 以便用户可以将
  • fancybox 2.0.4 和 Vimeo

    我在将新的 fancybox V 2 0 4 g81c12d7 与新的 iframe vimeo 嵌入代码集成时遇到很多困难 有人有解决方案吗 是的 最简单的方法是使用新的 vimeo 的 万能播放器 http vimeo com api
  • 在 UINavigationController 中为根视图制作后退按钮

    所以我创建了一个UI导航控制器手动将其设置为我的UIWindow 的rootViewController 我想使用后退按钮退出UI导航控制器并在其位置加载另一个 viewController 但是 那backItem的财产UI导航栏 is
  • 语音识别产生 OSError:没有可用的默认输入设备

    This import speech recognition as sr r sr Recognizer with sr Microphone as source print Speak Anything audio r listen so
  • Swift:截断浮点数以将其显示在标签中[重复]

    这个问题在这里已经有答案了 当我想截断浮点数以在 Objective C 中的标签中显示时 我可以使用LABEL text NSString stringWithFormat 3f FLOAT 虽然我找不到如何在 Swift 中做到这一点
  • 使用 PyQt 捕获网络摄像头视频

    给出以下 PyQt 代码 我可以完美捕获网络摄像头的流视频 现在 我想修改代码 因此添加了一个名为 捕获 按钮 按下后将捕获流视频并保存图像 我怎样才能做到这一点 获得的小图像将用于查询对象识别服务器 import sys from PyQ
  • Spring MVC 检测ajax请求

    如何以最好的方式检测ajax请求 我目前在我的控制器中使用它 private boolean isAjax HttpServletRequest request String header request getHeader x reque
  • SwiftUI 工作表在第一次出现时就被忽略了

    这个错误快把我逼疯了 有时 大多数时候 提交的工作表会被忽略first打开的时间 这种情况仅发生在设备上并且仅在应用程序第一次启动时发生 这是使用 Xcode 12 1 构建的运行 iOS 14 1 的 iPhone 11 上的外观 也可以
  • 现代 Akka DI 与 Guice

    这里是 Java 8 Guice 4 0 和 Akka 2 3 9 我试图弄清楚如何用 JSR330 风格注释我的演员类 Inject注释 然后通过 Guice 将它们全部连接起来 但实际上我读过的每一篇文章 下面的一些例子 要么使用 Sc
  • 当功能发生代码更改时,我们是否可以仅发布动态功能模块,而不是再次发布整个应用程序?

    假设我们的项目中有不同的功能模块 并且其中一项按需功能发生了代码更改 现在我想知道的是 我们是否可以仅针对代码更改的功能构建 aab android 应用程序包 或 apk 并将其上传到 Playstore 而不是再次构建整个应用程序并上传
  • winforms 手风琴 [关闭]

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 有人知道 C winforms 手风琴控件吗 最好是开源或免费的 这是一个使用的基本示例CheckBox
  • HTML 中的 标签

    我正在编写 HTML 入门课程 我记得 9 年前我在学习 HTML 时发现 img and
  • 为名称中带有“点”的变量赋值

    我是 R 新手 正在尝试以下代码 令我惊讶的是 分配一些东西给ret log id实际上会导致将相同的值分配给ret log以及 例如 ret lt c ret log id lt a 运行以下命令将返回 a ret log 这是 R 应该
  • 有没有办法获取所有已注册的消息转换器?

    我想以某种方式注入所有HttpMessageConverter在 Spring MVC 中注册的实例 我可以成功注入所有已通过注册的内容 private HttpMessageConverter converters Autowired p
  • 是否可以使用replaceAll()将字符串中的前导零替换为相同数量的空格?

    在Java中 我尝试用 spacespace1 234 替换 001 234 等字符串 然而 我是一个正则表达式新手 我似乎最终将所有前导零都替换为单个空格 我知道我可以通过循环轻松完成此操作 但我正在尝试使用正则表达式并感谢任何帮助 没问
  • 在带有色调(分类变量)的pairgrid图上显示两个相关系数 - seaborn python

    我找到了一个函数来计算相关系数 然后将其添加到配对图中 如下所示 我的问题是 当我运行带有色调 分类变量 的配对图时 两组的相关系数显示在彼此之上 这就是情节的样子 https i stack imgur com AZao1 png 这是我
  • ReactJS 表单提交阻止默认不起作用

    我正在学习 React JS 同时遵循在线教程 下面的代码停止工作并给我一个异常 TypeError 无法读取未定义的属性 PreventDefault 有人可以帮我理解造成这种情况的原因吗 提前致谢 const Card props gt
  • 在 php 中打开另一个页面[重复]

    这个问题在这里已经有答案了 可能的重复 PHP 页面重定向 https stackoverflow com questions 2112373 php page redirect 一旦进程完成 我如何重定向到 php 中的另一个页面 例如我
  • 创建一个类,通过在 clojure 中覆盖来扩展类

    我有非常简单的java代码 public class MessageListenerExample extends ListenerAdapter Override public void onMessageReceived Message