background image

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