首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Java中的代理是什么?

Java中的代理是什么?
EN

Stack Overflow用户
提问于 2014-02-24 19:33:53
回答 1查看 259关注 0票数 3

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

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-02-24 19:51:09

不,没有自相矛盾。

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

改编自 javadoc的例子

代码语言:javascript
复制
String className = readClassNameFromFile(); 
Class<?> myClass = Class.forName(className);
Foo f = (Foo) Proxy.newProxyInstance(Foo.class.getClassLoader(),
                                          new Class[] { myClass },
                                          handler);
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21997215

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档