如下所示
////////////////// load.javapackage org.bromon.reflect; importe java.util.arraylist; importar java.util.list; public class Load Iplemming Operator {@Override public list <? resultado.add (new String ("加载成功")); resultado de retorno; }} ////////////////// operator.javapackage org.bromon.reflect; importe java.util.*; Operador de interface pública {list public <?> ACT (list <?> Params);} ////////////////1.javapage (list <?> Params; java.util.ArrayList; importar java.util.list; public class store implementa o operador {@Override public List <?> Act (list <?> params) {// lista de stub de método de auto-gerar automaticamente <? resultado.add (new String ("Store")); resultado de retorno; }} ////////////// success.javapackage org.bromon.reflect; importe java.util.list; importar java.util.arraylist; public classe de sucesso implementa o operador {@Override public list <? ArrayList <String> (); resultado.add (new String ("操作成功")); resultado de retorno; }} //////////////////////// testreflelect.javapackage org.bromon.reflect; importar java.io.fileInputStream; import java.lang.reflect.method; import.Perta.UtAl.Irraylist; TestReflect {private string loadProtocal (cabeçalho da string) {string result = null; tente {Properties prop = new Properties (); FileInputStream fis = new FileInputStream ("Emp.Properties"); Prop.Load (FIS); resultado = prop.getProperty (cabeçalho); fis.close (); } catch (Exceção e) {System.out.println (e); } resultado de retorno; } // 针对消息作出响应, 利用反射导入对应的类 Public String Response (cabeçalho da string, conteúdo da string) {string result = null; String s = null; tente { / * * 导入属性文件 Emp.Properties, 查询 Cabeçalho 所对应 * * 的类的名字, 所有的类都 * * 被 Operador 接口隔离 可以通过修改属性文件、添加新的类 (继 * * 承 msgoperator 接口) 来扩展协议 * / s = "org.bromon.reflect." + this.loadProtocal (cabeçalho); // 加载类 classe <?> C = classe.ForName (s); // 创建类的事例 Operador MO = (Operador) C.NewInstance (); // 构造参数列表 classe <?> Params [] = nova classe [1]; params [0] = classe.ForName ("java.util.list"); // 查询 Act 方法 Método m = c.getMethod ("Act", params); List <String> args = new ArrayList <String> (); args.add (conteúdo); // 调用方法并且获得返回 Objeto ReturnObject = M.Invoke (MO, args); Lista <?> List = (list <?>) ReturnObject; System.out.println (list.get (0)); } catch (Exceção e) {System.out.println ("manipulador-resposta:" + e); } resultado de retorno; } public static void main (string args []) {testReflect tr = new testReflect (); tr.Response ("2000", "消息内容"); }}以上就是小编为大家带来的 Java 利用 Java 反射机制动态加载类的简单实现的全部内容了 , 希望对大家有所帮助 , 多多支持武林网 ~