我在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"]
。
答案 0 :(得分:1)
proxy
创建了一个类的实例,但没有调用它上面的任何方法。如果您想致电greet
,请致电greet
。