java反射例子

//①通過類裝載器獲取EvalComprehensiveBo類對象

ClassLoader loader = Thread.currentThread().getContextClassLoader();

Class clazz =null;

try {

clazz = loader.loadClass("com.lovcreate.atom.biz.api.bo.evaluate.EvalComprehensiveBo");

}catch (ClassNotFoundException e) {

logger.info("ClassNotFoundException", e.getMessage());

}

//②獲取類的默認構造器對象并通過它實例化EvalComprehensiveBo

Constructor cons =null;

try {

cons = clazz.getDeclaredConstructor((Class[])null);

}catch (NoSuchMethodException e) {

logger.info("NoSuchMethodException", e.getMessage());

}

EvalComprehensiveBo evalComprehensiveBo =null;

try {

evalComprehensiveBo = (EvalComprehensiveBo) cons.newInstance();

}catch (Exception e) {

logger.info("evalComprehensiveBoException", e.getMessage());

}

Integer count =evalComprehensiveMapper.queryCount(deptName, years, type);

//③通過反射方法設置屬性

Method setProperty =null;

try {

setProperty = clazz.getMethod(property, Integer.class);

}catch (NoSuchMethodException e) {

logger.info("NoSuchMethodException", e.getMessage());

}

try {

setProperty.invoke(evalComprehensiveBo, count);

}catch (Exception e) {

logger.info("setPropertyException", e.getMessage());

}

?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。