package demo;
//业务需求:执行某个类中全部的以test为开头的无参数无返回值的非静态方法。
import java.lang.reflect.Method;
import java.util.Scanner;
/**
* 执行一个类中全部以test开头的方法
* @author Administrator
*
*/
public class Demo2 {
public static void main(String[] args) throws Exception{
//动态加载类
Scanner scan = new Scanner(System.in);
System.out.println("请输入类名:");
String classname = scan.nextLine();
//动态获取全部方法信息
Class cl = Class.forName(classname);
Method[] methods = cl.getDeclaredMethods();
//迭代全部方法查找以test为开头的方法
Object obj = cl.newInstance();
for(Method m:methods){
if(m.getName().startsWith("he")){
//System.out.println(m);
//动态执行方法。
m.invoke(obj);
System.out.println(m);
}
}
}
}