public class ReflectDemo1 {
public static void main(String[] args) throws Exception{
//获取Person的Class对象
Class personclass = Person.class;
//获取Class对象的构造方fa
Constructor c =personclass.getConstructor(String.class,int.class);
System.out.println(c);
//构造方法用来创建对象的,
//Constructor 有个方法newInstance可以创建对象
Object person = c.newInstance("张三",22);
System.out.println(person);
public class ReflectDemo2 {
public static void main(String[] args) throws Exception{
//获取Person的Class对象,返回的是一个Class类
Class personClass = Person.class;
//获取指定的Public成员方法
//需要传递方法的名称,返回值是Method类
Method eat_Method =personClass.getMethod("eat");
Person p = new Person();
eat_Method.invoke(p);//eat....
//获取有参数的成员方法,需要传递方法名称
Method eat_method2 =personClass.getMethod("eat",String.class);
//获取到方法,就要执行方法
//执行方法,需要传递对象和参数
eat_method2.invoke(p,"饭");
public class TestCheck {
public static void main(String[] args) throws IOException {
//创建计算器对象
Calculator c = new Calculator();
//获取字节码文件
Class cls = c.getClass();
//获取所有方法
Method[] methods = cls.getMethods();
int number =0;//出现异常的次数
BufferedWriter bw = new BufferedWriter(new FileWriter("bug.txt"));