如下所示 :
////////////////////// Load.javapackage org.bromon.reflect; import java.util.arraylist; import java.util.list; public class load реализует оператор {@override public list <?> Act (list params) {// todo auto-gen-gene-stect stub <?> Rest restlist> restlist) result.add (new String ("加载成功")); результат возврата; }} ////////////////////////Merator.javapackage org.bromon.reflect; import java.util.*; java.util.arraylist; import java.util.list; Общедоступный магазин класса реализует оператор {@override public <?> act (list <?> params) {// todo автоматически генерируемый метод списка <string> result = new Arraylist <string> (); result.add (new String ("Store")); результат возврата; }}///////////////Success.javapackage org.bromon.reflect;import java.util.List;import java.util.ArrayList;public class Success implements Operator { @Override public List<?> act(List<?> params) { // TODO Auto-generated method stub List<String> result=new ArrayList<String>(); result.add (new String ("操作成功")); результат возврата; }} //////////////////////////////Testreflect.javapackage org.bromon.reflect; импорт java.io.fileinputstream; импорт java.lang.reflect.method; import java.util.arraylist; import java.util.properties; TestReflect {private String loadProtocal (string header) {string result = null; try {Properties prop = new Properties (); FileInputStream fis = new FileInputStream ("emp.Properties"); Prop.Load (FIS); result = prop.getProperty (заголовок); fis.close (); } catch (Exception e) {System.out.println (e); } return Result; } // 针对消息作出响应, 利用反射导入对应的类 Отзывчивый ответ строки (строка заголовка, строка содержимого) {string result = null; Строка s = null; try { / * * 导入属性文件 emp.properties, 查询 заголовок 所对应 * * 的类的名字 通过反射机制动态加载匹配的类 通过反射机制动态加载匹配的类, 所有的类都 * * 被 Оператор 接口隔离 可以通过修改属性文件、添加新的类 (继 * * 承 msgoperator 接口) 来扩展协议 * / s = "org.bromon.reflect." + this.loadprotocal (заголовок); // 加载类 Class <?> C = class.forname (s); // 创建类的事例 Оператор mo = (оператор) c.newinstance (); // 构造参数列表 Class <?> Params [] = новый класс [1]; params [0] = class.forname ("java.util.list"); // 查询 ACT 方法 Метод m = c.getMethod ("act", params); Список <string> args = new ArrayList <string> (); args.add (content); // 调用方法并且获得返回 объект returnObject = m.invoke (mo, args); Список <?> List = (list <?>) ReturnObject; System.out.println (list.get (0)); } catch (Exception e) {System.out.println ("Handler-response:" + e); } return Result; } public static void main (string args []) {testReflect tr = new TestReflect (); tr. -response ("2000", "消息内容"); }}以上就是小编为大家带来的 java 利用 java 反射机制动态加载类的简单实现的全部内容了 , 希望对大家有所帮助 , 多多支持武林网 ~