如何在clojure中的超级调用中获取字符串返回值?

时间:2016-12-14 15:38:48

标签: java 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"]

1 个答案:

答案 0 :(得分:1)

proxy创建了一个类的实例,但没有调用它上面的任何方法。如果您想致电greet,请致电greet