public static void main(String[] args) {
try {
TestT t = new TestT();
Class<?> a = t.getClass();
for(Method m : a.getDeclaredMethods()){
m.setAccessible(true);
System.out.println("方法名称 : "+m.getName());
System.out.println("参数数量 : " + m.getParameterTypes().length);
System.out.println("返回类型 : " + m.getReturnType().getName());
for(Class<?> c : m.getParameterTypes()){
System.out.println("参数类型 : "+c.getName());
}
m.invoke(t , "我啊啊");
}
} catch (IllegalArgumentException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IllegalAccessException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (InvocationTargetException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
其中红色部分必须设为true,不然private方法无法反射
Java反射时要注意的
最新推荐文章于 2022-04-04 21:44:43 发布