public class Test {
    public static void main(String[] args)throws ReflectiveOperationException {
        //获取类对象
        Class<?> c=Class.forName("Student");
        
        //获取类的属性对象,需要填写属性对象的名称
        Field f1=c.getField("name");//只能获取public的对象
        Field f2=c.getDeclaredField("age");//可以获取到private的对象,这很吊吧
        
        
        f2.setAccessible(true);//如果属性是私有的,那么就需要设置可访问
        Student s1=(Student) c.newInstance();
        //为属性对象赋值
        f1.set(s1, "张三");
        f2.set(s1, 22);
        
        System.out.println(s1.toString());
        
        //通过类对象获取类的方法
        Method m1=c.getMethod("add", int.class,int.class);
        
        //动态的执行方法
        int sum=(int) m1.invoke(s1, 1,2);
        System.out.println(sum);
                
    }

}