Class类获取方法信息(返回值、方法名、参数)
获取类的全名称
@Test
public void getTest2() {
Class<Student> studentClass = Student.class;
// 获取类的全名称
System.out.println("获取类的全名称:" + studentClass.getName());
}
获取返回值方法名以及参数
一个成员方法就是一个 Method对象。
@Test
public void getTest3() {
Class<String> stringClass = String.class;
// 获取所有的 public 修饰的方法,包括父类的。
Method[] methods = stringClass.getMethods();
// 获取声明是所有本类的方法(不包括父类的)
// Method[] declaredMethods = stringClass.getDeclaredMethods();
for (int i = 0; i < methods.length; i++) {
System.out.println("----------第" + (i + 1) + "个方法----------");
Method method = methods[i];
// 获取方法的返回值类类型
Class<?> returnType = method.getReturnType();
System.out.println("获取方法的返回值类类型:" + returnType.getName());
// 获取方法的名称
System.out.println("获取方法的名称:" + method.getName());
// 获取参数
Class<?>[] parameterTypes = method.getParameterTypes();
if (parameterTypes.length > 0) {
System.out.println("获取所有参数如下:");
for (int i1 = 0; i1 < parameterTypes.length; i1++) {
System.out.println(" 第" + (i1 + 1) + "个参数:" + parameterTypes[i1]);
}
}
}
}
输出结果如下:
----------第1个方法----------
获取方法的返回值类类型:boolean
获取方法的名称:equals
获取所有参数如下:
第1个参数:class java.lang.Object
----------第2个方法----------
获取方法的返回值类类型:java.lang.String
获取方法的名称:toString