我正在使用clojure中的代理扩展Java类。当我调用超级呼叫时,我想返回字符串值。如何做?
public class Baseclass {
public String greet() {
return "Hello from Baseclass";
}
}
clojure代码:
(ns subclass.core
(:gen-class)
(:import Baseclass))
(defn my-greet []
(proxy [Baseclass] []
(greet []
(proxy-super greet)))
(defn -main [& args]
(my-greet))
此返回#object[subclass.core.proxy$Baseclass$ff19274a 0x2dd8954f "subclass.core.proxy$Baseclass$ff19274a@2dd8954f"]
。
proxy
创建了类的实例,但没有调用任何方法。如果要致电greet
,请致电greet
。