gpt4 book ai didi

java - Java 中的代理有什么用?

转载 作者:行者123 更新时间:2023-12-02 08:29:33 26 4
gpt4 key购买 nike

我正在阅读 Horstmann 的著名著作《Core Java》中的代理部分。不过我对这个概念很陌生。正如书中所写,只有当您在编译时尚不知道需要实现哪些接口(interface)时才需要代理。但是,当您构造代理对象时,您需要提供一个类对象数组,这些对象只是要实现的接口(interface)。听起来不觉得很自相矛盾吗?请照亮我。谢谢!

最佳答案

不,没有自相矛盾。

您需要提供的类对象数组可以是动态的,即在运行时创建。通常,它可以从配置文件中读取,您可以在其中从 String 加载 Class 对象。这通常是创建代理实例时有多少框架(例如用于依赖注入(inject)的 Spring)正在工作。

改编自 Proxy javadoc 的示例:

String className = readClassNameFromFile(); 
Class<?> myClass = Class.forName(className);
Foo f = (Foo) Proxy.newProxyInstance(Foo.class.getClassLoader(),
new Class[] { myClass },
handler);

关于java - Java 中的代理有什么用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21997215/

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