java通过反射获取对象的属性

public class Reflact {
    public static void main(String[] args) throws Exception {
       Class clazz =  Class.forName("com.test.Menu");
       //获取所有成员变量
       /* Field[] fs =   clazz.getDeclaredFields();
        for(int i = 0;i<fs.length;i++){
            System.out.println(fs[i]);
        }*/

       //根据name获取成员变量
     /* Field field =  clazz.getDeclaredField("children");
        System.out.println(field);*/

        //获取无参构造方法
       Constructor constructor =  clazz.getConstructor();

       //通过构造器生成对象
        Object obj = constructor.newInstance();
        System.out.println(obj);

        //获取有参构造方法
       /* Constructor constructor2 =  clazz.getConstructor(String.class);
        System.out.println(constructor2);*/

       //获取对象所以的方法,包括getter,setter,object父类的所有方法
     /*Method[] m =  clazz.getMethods();
        for(int i = 0;i<m.length;i++){
            System.out.println(m[i]);
        }*/

     //根据方法名获取方法
     /*Method m2 = clazz.getMethod("notify");
        System.out.println(m2);*/
    }
}

猜你喜欢

转载自blog.csdn.net/qq_23659871/article/details/87934106
今日推荐