1

我找不到任何关于此的文档(或博客)。是否可以从 clojure 调用包保护方法?我们有一个庞大的 Java 代码库,我正在考虑是否可以开始围绕它们开发一些 clojure 库。

我尝试使名称空间与 java 中的包的名称空间相同,但找不到方法(静态)。

4

1 回答 1

4

这是一个快速的代码示例:

 (def a (ref 0))
 (def klass (class a))
 (def m (.getDeclaredMethod klass "currentVal" (into-array Class [])))
 (.setAccessible m true)
 (.invoke m a (into-array []))

您可能应该看看反射 API

虽然,我建议只使用旧 Java 代码库中公开声明的字段和方法。

于 2014-06-03T01:18:53.863 回答