gpt4 book ai didi

clojure - 使用 clojure 扩展 java 抽象类 (java.lang.Classloader)

转载 作者:行者123 更新时间:2023-12-03 00:26:37 24 4
gpt4 key购买 nike

有没有办法在 clojure 中扩展抽象类?我希望在 clojure 中扩展 java.lang.Classloader。有没有一种好方法可以获取 Classloader 对象的子类而无需返回 java?

最佳答案

在 Clojure 中扩展抽象类的一种方法是使用 ns 形式的 :gen-class 指令或 (gen-class) 宏。例如:

(ns example.core
(:gen-class
:extends ClassLoader
:name example.CustomClassLoader))

(defn -findClass [this name]
(println "example.findClass")
nil)

必须使用 AOT 编译才能使 (gen-class) 发挥作用。请参阅(gen-class)在 Clojure API 文档中。

注意:A. Webb 在对另一个答案的评论中已经建议了这种方法。

关于clojure - 使用 clojure 扩展 java 抽象类 (java.lang.Classloader),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22556278/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com