首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >在Clojure中扩展类的问题: ClassFormatError:重复字段名和签名

在Clojure中扩展类的问题: ClassFormatError:重复字段名和签名
EN

Stack Overflow用户
提问于 2009-10-26 22:39:23
回答 1查看 1.1K关注 0票数 4

我试图用Clojure扩展JButton,但是当我尝试创建自己的构造函数时遇到了一个问题。每当我在:constructors中使用:gen-class时,当我尝试实例化类时,我总是会收到一条"ClassFormatError:复制的字段名&签名“消息。

我想我正在正确地跟踪Clojure文档。我做错了什么吗?

示例:

代码语言:javascript
代码运行次数:0
运行
复制
(ns test.gui.button
  (:gen-class
   :extends javax.swing.JButton
   :constructors {[] [String]}
   :init init))

(defn -init []
  [["Click Me"] nil])
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2009-11-07 08:59:21

JButton扩展了已经有一个受保护的init方法的javax.swing.AbstractButton。如果您将Clojure-init函数重命名为(例如,my-init ),那么问题就消失了:

代码语言:javascript
代码运行次数:0
运行
复制
(ns test.gui.button
  (:gen-class
   :extends javax.swing.JButton
   :constructors {[] [String]}
   :init my-init))

(defn -my-init []
  [["Click Me"] nil])
票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1627747

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档