我有一个java接口如下:
public interface Wrapper {
void error( Exception e);
void error( String str);
}
我正在尝试使用 gen-class 在 clojure 中创建一个实现:
(ns myimpl)
(gen-class
:name myimpl
:implements [Wrapper]
:state state
:init init
:prefix "w-"
:main false
)
(defn- w-error [this ^Exception e]
(println e))
(defn- w-error [this ^String s]
(println s))
然后我尝试创建一个实例并调用repl中的方法:
> (def w (myimpl. ))
> (.error w "oops")
这会给我一个 ArityException: Wrong number of args (2) passing to: myimpl$w-error.
我在这里做错了什么?