反射有几个用处.
作用的动态加载类.最常用的是数据库驱动的加载. 不用写死,硬编码
spring是注入是基于反射的.
获得class最常用的方式是class.forname("");
执行函数
#010 ptypes[1] = Class.forName("java.util.Hashtable");
#011 Method m = c.getMethod("func",ptypes);
#012 Test obj = new Test();
#013 Object args[] = new Object[2];
#014 arg[0] = new String("Hello,world");
#015 arg[1] = null;
#016 Object r = m.invoke(obj, arg);
操作变量
#006 Class c = Class.forName("Test");
#007 Field f = c.getField("d"); //指定field 名称
#008 Test obj = new Test();
#009 System.out.println("d= " + (Double)f.get(obj));
#010 f.set(obj, 12.34);
A a =
(A)Class.forName(“pacage.A”).newInstance();
这和你 A a = new A(); 是一样的效果。
这和你 A a = new A(); 是一样的效果。