我正在阅读Head First Design Pattern,并对Java有一些了解。它首先封装与您的类不同的东西,并将它们放在一个单独的接口中,而不是将这些功能放在子类中。它们有一个用于虚张声势的接口(QuackBehavior和FlyBehavior接口),然后在其他类中实现这些接口。abstract class Duck { FlyBehavior flyBehavior;}
我猜
在试图将clojure函数封装到Java接口时,我遇到了麻烦。但是,无论我尝试何种类型的类型提示(在使用^的args之前,包装成一个暗示的匿名函数),程序都拒绝编译:mismatched return type, expected:double, had : java.lang.Object是否有一种方法来覆盖这个(即使使用Java代码)?
我甚至尝试过愚蠢的代码,也不起作用。compute [this ^doubles a ^doubles b] (let [result (f a b