|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
微软什么都提供了。你可以试想一下,如果你是新手,你是希望你点一下按钮程序就能运行那,还是想自己一点一点的组织结构,然后打包发部,调错再打包......
假如你如许的需求:在运转时创立完成一组给定接口的类,注重这个类是在运转时创立的,你就必要利用JAVA中的代办署理类来告竣你的请求。
代办署理类供应在运转时创立类的才能,这个新建的类能完成你指定的接口。固然你不克不及在运转时为要完成的接口中的办法界说新代码,而是供应一个挪用处置器来完成。挪用处置器是完成了InvocationHandler接口的类的对象,此接口只要一个办法:
Objectinvoke(Objectproxy,Methodmtd,Object[]args)
个中proxy是代办署理对象;mtd是形貌办法的类的对象,此对象实行它的invoke(Objectobj,Object[]args)办法能够挪用封装在Mthod对象中的办法;args是存储了此办法参数的数组。
创建代办署理对象:利用Proxy类的newProxyInstance办法,其格局以下:
Objectproxy=Proxy.newProxyInstance(null,interfaces,handler);
个中第一个参数是一个类加载器,这里利用默许加载器,用null暗示;第二个参数是一个Class的数组,其每一个元素是一个接口,这就是用来指定要完成的一组接口,哪怕只要一个接口也要经由过程数组来传送;第三个参数就是挪用处置器。
在代办署理对象上挪用办法时,挪用处置器的invoke办法会被主动挪用,正在挪用的办法和参数主动传送给inboke办法的jmtdtargs情势参数中,同时也会用args参数数组中的参数往挪用mtd对象中指定的办法。
代办署理的使用:办法挪用跟踪(把要跟踪的对象包装成代办署理类对象);为远程挪用办法供应路由;用户接口事务与举措联系关系(C#中有相似的功效)。
一旦你有了思想,那你编的程序就有了灵魂,不管是什么语言到了你的手里都会是你的工具而已,他们的价值是能尽快帮助你实现你想要的目标。但是如果你没有了思想,那就像是海里的帆船失去了船帆,是很难到打海的另一边的。 |
|