java 反射 动态调用不同类的静态方法(推荐)
来源:互联网 发布:dem软件 编辑:程序博客网 时间:2024/05/14 13:58
恩 ,下面这个小demo还是不错的,大家可以借鉴一下
1、准备用反射的方式调用的类
package ss;public class Use { public static Integer demo( String s ){ System.err.println(s+"<<<<<<成功!"); Integer ss=1; return ss; }}
2、调用
public class Ceshi { public static void main(String[] args) { try { String className = "ss.Use";//这里注意了,是:包名.类名,只写类名会出问题的哦 Class<?> testClass = Class.forName(className); Method saddMethod2 = testClass.getMethod("demo", new Class[]{String.class}); String result=saddMethod2.invoke(null,new Object[]{"测试反射"}).toString(); //虽然invoke(),方法里的参数是变参,单是,第一个的null还是需要的,原因大家可以看下源码 System.out.println(result); } catch (Exception e) { e.printStackTrace(); }
只是demo,大家可以根据自己的实际情况做更改。
例如下面我的代码—实现定时爬取多个网站的招标信息,就利用到了类的反射调用静态方法:
long time = System.currentTimeMillis();TimerTask task = new TimerTask() { @Override public void run() { List<BiddingCompany> biddingCompanyList; try { biddingCompanyList = BiddingService.biddingCompanyDAO.listAllAll(); for (BiddingCompany company : biddingCompanyList) { Class<?> aClass = Class.forName(company.getMirror()); Method spider = aClass.getMethod("spider", BiddingCompany.class); spider.invoke(null, company); log.info("时间=" + new Date() + "执行了" + company.getCompanyName() + "招标信息爬取任务"); } } catch (Exception e) { e.printStackTrace(); } log.info("共用时间:" + (System.currentTimeMillis() - time) / 1000 + "秒"); } };
阅读全文
0 0
- java 反射 动态调用不同类的静态方法(推荐)
- JAVA 反射 动态调用不同类的静态方法
- Java不同类方法的调用以及static方法小解
- java反射调用静态方法
- Java 反射调用静态方法
- Java 反射调用静态方法
- Java反射调用静态方法
- 在不同类、对话框间函数互相调用的方法
- java反射动态方法调用
- java动态反射调用方法
- java 反射动态方法调用
- java不同类之间调用同一个常量
- MFC不同类之间的函数调用
- Java中使用反射调用静态方法
- 通过java反射机制动态调用某方法的总结
- Java方法的动态调用(采用反射机制)
- Java反射二 动态调用类的方法
- java利用反射完成不同类之间相同属性的复制
- RecyclerView+OkHttp的下拉刷新
- activiti查询
- (poj 2823 Sliding Window)<单调队列裸题>
- Reorder List leetcode java
- 2017.8.17 校内赛 解题报告 数论 【离散对数】【莫比乌斯反演】【莫比乌斯反演】
- java 反射 动态调用不同类的静态方法(推荐)
- hdu 2050 折线分割平面 简单
- 第十八天总结
- 拐弯抹角
- 迷enc
- Java笔记:接口
- 构造函数能不能是虚函数
- [POJ](1067)取石子游戏 ---威佐夫博弈(博弈)
- 牛客网算法课系列(一):字符串和二叉树打印问题