如何在Clojure中的超级呼叫中获取字符串返回值



我正在使用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

最新更新