如下所示 :
/////////////////////////////////////promon.reflect; import java.util.list; public class emplesments operator {@override public list (list <?> params) {// auto-genrated <); result.add (새 문자열 ( "加载成功")); 반환 결과; }}} //////////////////////////////////////////puplect; import java.util.*; public interface operator {public list <?> act (list <?> params);} ////////////// Store.javapackage Org.regfct; java.util.arraylist; import java.util.list; public class 스토어는 운영자 {@override public list <?> act (list <?> params) {// todo 자동 생성 메소드 스터브리스트 <string> result = new arraylist <string> (); result.add (새 문자열 ( "Store")); 반환 결과; }} ////////////////////////////////////////////////////////////////////////////////4 org. ArrayList <string> (); result.add (새 문자열 ( "操作成功")); 반환 결과; }} //////////////////////////////////////////////treflect; import java.io.fileInputStream; import java.lang.reflect.method; import java.util.arraylist; import java.util.properties; testReflect {private String loadProtocal (문자열 헤더) {String result = null; try {속성 proper = new Properties (); fileInputStream fis = 새로운 fileInputStream ( "emp.Properties"); prop.load (FIS); 결과 = prop.getProperty (헤더); fis.close (); } catch (예외 e) {System.out.println (e); } 반환 결과; } // 针对消息作出响应, 利用反射导入对应的类 public String 응답 (문자열 헤더, 문자열 내용) {String result = null; 문자열 s = null; { / * * / emp.properties, 查询 헤더 所对应 * * * 的类的名字 通过反射机制动态加载匹配的类, 所有的类都 * * 被 연산자 接口隔离 可以通过修改属性文件、添加新的类 (继 * * * 承 msgoperator 接口) 来扩展协议 * / s = "org.bromon.reflect." + this.loadProtocal (헤더); // 加载类 class <?> c = class.forname (s); // 创建类的事例 연산자 mo = (연산자) c.newinstance (); // 构造参数列表 class <?> params [] = new Class [1]; params [0] = class.forname ( "java.util.list"); // act act 查询 메소드 m = c.getMethod ( "act", params); List <string> args = new ArrayList <string> (); args.add (내용); // 调用方法并且获得返回 객체 returnObject = M.Invoke (mo, args); list <?> list = (list <?>) returnObject; System.out.println (list.get (0)); } catch (예외 e) {System.out.println ( "핸들러-응답 :" + e); } 반환 결과; } public static void main (String args []) {testReflect tr = new TestReflect (); Tr.Response ( "2000", "消息内容"); }}Java a java 反射机制动态加载类的简单实现的全部内容了 反射机制动态加载类的简单实现的全部内容了, 希望对大家有所帮助, 多多支持武林网 ~