1、获取类的方法:
比如目前想货物类型:FunctionToolServiceImpl中的所有方法
FunctionToolServiceImpl 为FunctionToolService的实现类。
/**
* 获取类的所有方法
*/
@Override
public List<Map<String, Object>> getMonth() {
Class<?> clazz = null;
List<Map<String, Object>> list = new ArrayList<>();
try {
//dadao.base.service.impl.FunctionToolServiceImpl:类的地址
clazz = Class.forName("dadao.base.service.impl.FunctionToolServiceImpl");
//获取所有的方法:包含父类
//Method method[] = clazz.getMethods();
//使用getDeclaredMethods获取其类自身声明的所有方法
Method[] allMethods = clazz.getDeclaredMethods();
for (Method method : allMethods) {
if (Modifier.isPublic(method.getModifiers())) {
String monthName = method.getName();
Map<String, Object> map = new HashMap();
if (!"getMonth".equals(monthName)) {
// 方法的参数列表
//Parameter[] parameters = method.getParameters();
map.put("monthName", monthName);
//map.put("param", parameters);
list.add(map);
}
}
}
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
return list;
}