1.获取类中的方法
(1)获取类
Class class = Class.forName("包名.类名");
(2)获取方法:
Method[] methods = class.getMethods();//这种方法只可以获取公开的方法
Method[] methods = class.getDecaredMethods();//获取所有的方法包括私有的
Method method = class.getDecareMethod("方法名",参数类型.class);//获取指定的方法
2.执行方法
Object obj = class.newInstance();
Object revalue(返回值) = method.invoke(obj,传入实参);
3.获取方法的修饰符:
Modifier.toString(method.getModifier());
4.获取方法的类型
method.getReturnType();
5.获取方法的形参
Class type = field.getType();
获取方法的形参名
type.getName();
6.通过反射得到构造方法和父类父接口
Class class1 = Class.forName("com.array.User");
//获取无参构造
Constructor constructor = class1.getDeclaredConstructor();
//得到指定的构造器
Constructor constructor2 = class1.getDeclaredConstructor(java.lang.Integer.class);
//t通过构造器创建对象
Object object = constructor.newInstance();
Object object2 = constructor2.newInstance(2);
//得到父类
Class father = class1.getSuperclass();
System.out.println(father.getName());
//的到父接口
Class[] Ifather = class1.getInterfaces();
for (Class class2 : Ifather) {
System.out.println(class2.getName());
}