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));