使用时 reify 在Clojure中,如何为构造函数提供表达式?

或者,如何将参数传递给基类构造函数?

有帮助吗?

解决方案

您不能使用 reify 用于子类和实例化类 - 它仅用于协议和接口。 (您可以提供方法的实现 Object, , 尽管。)

要实例化任意类和/或接口的匿名子类,请使用 proxy. 。对代理的超类CTOR(如果有的话)的所有论点 args 向量(第二个参数) proxy 形式:

(proxy [SomeClass SomeInterface-1 ...] [ctor-arg-1 ...]
  ; method impls follow
  ...
  )

(doc proxy) 更多细节。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top