2013-04-12 66 views
0

我正在創建一個clojure項目,我要在Java中創建一個類,然後實例化該類並從我的clojure代碼中調用一個方法。Clojure Java Interop - 對字段的引用...無法解析

我的Java代碼位於資源/ MyClass.java

public class MyClass { 

    public static long myMethod() { 
     long i = 1; 
     return i; 
    } 

} 

在我的Clojure代碼,我有

(import MyClass) 
... 
(def my-object (MyClass.)) 
(.myMethod my-object) 

我編我的課就跑雷音編譯,但是當我運行代碼我得到

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) 

我做錯了什麼?它看起來像導入語句,作爲實例,但我不能調用該方法。幫助表示讚賞!

感謝

+2

http://stackoverflow.com/questions/5424520/how-can-i-call-a-java-static -method-in-clojure –

+0

謝謝。抱歉沒有找到那個。 –

回答

2

靜態方法使用/,而不是.

(MyClass/myMethod)