Java 反射 获取方法,使用方法
1.获取方法
2.使用方法
3.获取有参方法
4.使用有参方法
5.获取方法名
6.获取类名
public class ReflectDemo4 {
public static void main(String[] args) throws NoSuchFieldException, IllegalAccessException, NoSuchMethodException, InvocationTargetException, InstantiationException {
Class personClass =Person.class;
Method eat_method = personClass.getMethod("eat");//获取指定名称的方法
Person p=new Person();
eat_method.invoke(p);//执行方法
Method eat_method2 = personClass.getMethod("eat", String.class);//获取指定名称的有参方法
eat_method2.invoke(p,"饭");//执行方法
System.out.println("----------");
Method[] methods = personClass.getMethods();//获取public修饰的所有方法(也支持暴力反射)
for (Method i:methods){
System.out.println(i);
String name=i.getName();//获取方法的名称
System.out.println(name);
}
String className = personClass.getName();//获取类名
System.out.println(className);
}
}