当前位置: 首页 > news >正文

秦皇岛建设网站官网聊城专业做网站

秦皇岛建设网站官网,聊城专业做网站,长沙网络公司,app外包上一篇实现了反射调用jar包#xff0c;但是没有实现多态#xff0c;这次先给自己的jar包类抽象一个接口#xff0c;然后实现类实现接口。最后调用放反射得到的对像转换成接口类型调用执行。 定义接口#xff0c;指定包为ZLZJar package ZLZJar;public interface ITest {p…上一篇实现了反射调用jar包但是没有实现多态这次先给自己的jar包类抽象一个接口然后实现类实现接口。最后调用放反射得到的对像转换成接口类型调用执行。 定义接口指定包为ZLZJar package ZLZJar;public interface ITest {public String Invoke(String para); } 实现接口方法 package ZLZJar;public class Test implements ITest {//加两个证书public int Add(int a,int b) {return ab;}//说你好public void Hello() {System.out.println(Hello My Name Is Lite Gray Fish);}//执行方法public String Invoke(String para){System.out.println(你传入的参数是:para);return 你传入的参数是:para;} } 生成jar包 生成jar包指定id和版本引用要一致 把jar包拷贝到调用方工程下新建的libs文件夹 调用工程里面加入maven本地引用 调用测试代码 import java.io.File; import java.lang.reflect.InvocationTargetException; import java.lang.reflect.Method; import java.net.MalformedURLException; import java.net.URL; import java.net.URLClassLoader; import java.lang.Class; import java.util.ArrayList; import java.util.Enumeration; import java.util.jar.JarFile; import java.util.jar.JarEntry; import ZLZJar.*;//zlz练习 public class Main {//m主方法public static void main(String[] args) {try {//自己生成jar包路径URL url new File(D:\\ZLZJar\\out\\artifacts\\ZLZJar\\ZLZJar.jar).toURI().toURL();URL[] urls new URL[]{ url };//加载程序集URLClassLoader loader new URLClassLoader(urls);//加载类Class c loader.loadClass(ZLZJar.Test);//创建对象Object o c.newInstance();//得到方法Method m c.getMethod(Hello);//执行m.invoke(o);//有参数的方法通过名称无法得到自己包装一下//Method mAdd c.getMethod(Add);Method mAdd GetMethod(c,Add);Object retmAdd.invoke(o,1,2);System.out.println(求和结果:ret);//转换成接口这个很重要后面的实现类都实现特定接口通过反射得到对象调用实现多态和动态调用ITest it(ITest)o;//接口调用it.Invoke(zlz调用传入的参数);} catch (NoSuchMethodException e) {e.printStackTrace();} catch (IllegalAccessException e) {e.printStackTrace();} catch (InstantiationException e) {e.printStackTrace();} catch (ClassNotFoundException e) {e.printStackTrace();} catch (MalformedURLException e) {e.printStackTrace();} catch (InvocationTargetException e) {e.printStackTrace();}}//通过类型和名称得到方法public static Method GetMethod(Class c,String name) {Method[] methods c.getMethods();for (Method method : methods) {System.out.println(类名:method.getName().intern());if (method.getName().intern()name) {return method;}}return null;}} 测试结果如下 如此实现jar包反射调用和jar包引用通过类实现引用包的接口通过反射得到对象转换成接口达到调用多态和C#自己生成dll其他工程引用dll反射得到接口实现一样。第二个技术积累点完成。
http://www.hkea.cn/news/14338436/

相关文章:

  • 完整版网站推广方案海南省城乡建设厅网站
  • 哪个视频网站做视频最赚钱的百度关键词策划和seo的优化
  • 帮人做项目的网站百度竞价排名机制
  • 建设网站教程全集网络做网站如何盈利
  • 免费的网站模板下载物业管理系统
  • 浏阳烟花网站建站定位及营销功能做网络歌手的网站
  • 网络建站的费用一般在什么网站上做电子请帖
  • 北京网站排名公司推广网站的软件
  • 网站由哪些部分组成部分组成部分重庆最著名的十大景点
  • 上海外贸网站建旅游电子商务网站建设规划
  • 应用商店app下载安装最新版软件搜索引擎优化缩写
  • 可视化编辑建站平台刚刚传来最新消息
  • 做3d效果图的网站温州建设局网站首页
  • 做网站主要注意些什么问题英文网站怎么做推广
  • 做水晶接单在哪个网站接网站建设捌金手指下拉八
  • 网站验证码插件福清市住房和城乡建设局网站
  • 在线名片制作网站开发做招聘网站需要什么
  • 建站技术布局方式wordpress格子广告插件
  • 东莞 网站 建设 雕塑开发公司对物业公司的补贴怎么开票
  • 怎么利用招聘网站做薪酬调查许昌建设网站
  • 帮人建网站价格免费网站设计什么价格
  • 河南建设168工程网官方网站app定制公司如何找客户
  • 节庆时候的网站是怎么做的那种网站后台最好
  • 佛山如何建立网站为何只有建设银行网站打不开
  • 易云自助建站国家企业信息查询平台官网
  • 微信小程序优化网站定制
  • 网站留言板模版wordpress 本地运行
  • 个人业务网站教程网站关键词优化价格
  • 北京监理建设协会网站前端自己做博客网站
  • 建设银行官方网站登录网址高安市网站建设公司