我正在开发一个 clojure 项目,我想在 Java 中创建一个类,然后实例化该类并从我的 clojure 代码中调用一个方法。
我的 Java 代码位于 resources/MyClass.java
public class MyClass {
public static long myMethod() {
long i = 1;
return i;
}
}
在我的clojure代码中,我有
(import MyClass)
...
(def my-object (MyClass.))
(.myMethod my-object)
我编译了我的类并运行了 lein compile,但是当我运行我的代码时,我得到了
Exception in thread "main" java.lang.IllegalArgumentException: No matching field found: myMethod for class MyClass
at clojure.lang.Reflector.getInstanceField(Reflector.java:271)
at clojure.lang.Reflector.invokeNoArgInstanceMember(Reflector.java:300)
我究竟做错了什么?看起来导入语句作为实例化有效,但我无法调用该方法。帮助表示赞赏!
谢谢