// 反射代码,
final private Map<String, Method> methodMap = new HashMap<String, Method>();// 以set开始的方法的map
// 可以直接获取需要的set方法.
protected void init() {
Class<?> userClass = this.getClass();// Class.forName(this.getClass()); 加载类
Method[] methods = userClass.getDeclaredMethods();// 获得类的方法集合
for (int i = 0; i < methods.length; i++) {
if (methods[i].getName().startsWith("set")) {
methodMap.put(methods[i].getName().toLowerCase(), methods[i]);
}
}
}
protected void setProperty(String property, Object v) {
Method method = methodMap.get(property.toLowerCase());
try {
method.invoke(this, v);
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
对通上述的代码,可以明显发现,使用Java 反射带来的好处