Java中操作反射实现类的动态加载[Java编程]
本文“Java中操作反射实现类的动态加载[Java编程]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:
//首先定义一个接口来断绝类:
public interface Operator
{
// public java.util.List act(java.util.List params);
public java.util.List act(String content,String content2,java.util.List params);
}
按照计划情势的原理,我们可认为差别的功效编写差别的类,每个类都担当Operator接口,客户端只需求针对Operator接口编程便可以避免很多麻烦.比方这个类:
import java.util.*;
public class Success implements Operator
{
public static void main(String[] args) {
List list = new ArrayList();
list.add("Success3");
Operator op = new Success();
System.out.println("act===" + op.act("Success1", "Success2", list));
}
// public java.util.List act(java.util.List params)
public java.util.List act(String content, String content2,
java.util.List params) {
List result = new ArrayList();
result.add(content);
result.add(content2);
result.add(params);
return result;
}
}
一样,也可以写另一个类:
import java.util.*;
public class Load implements Operator
{
public static void main(String[] args) {
List list = new ArrayList();
list.add("Load3");
Operator op = new Load();
System.out.println("act===" + op.act("Load1", "Load2", list));
}
// public java.util.List act(java.util.List params)
public java.util.List act(String content, String content2,
java.util.List params)
{
List result = new ArrayList();
result.add(content);
result.add(content2);
result.add(params);
return result;
}
}
我们还可以写其他很多类,但是有个问题,接口是无法实例化的,我们必须手动掌握具体实例化哪个类,这很不爽,假如可以向利用程序传送一个参数,让自己去挑选实例化一个类,履行它的act办法,那我们的工作就轻松多了.
很幸运,我利用的是Java,只有Java才供应这样的反射机制,大概说内省机制,可以实现我们的无理要求.编写一个配置文件emp.properties:
#成功呼应
1000=Success
#向客户发送普通文本消息
2000=Load
#客户向服务器发送普通文本消息
3000=Store
以上是“Java中操作反射实现类的动态加载[Java编程]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:
本文地址: | 与您的QQ/BBS好友分享! |