反射常用的api

1.getName():获取全类名

  Class clazz  = Reflect.class;
  System.out.println(clazz.getName());

2.getSimpleName():获取简单类名

  Class clazz  = Reflect.class;
  System.out.println(clazz.getSimpleName());

3.getFields():获取本类和父类的所有public属性

  Class clazz  = Reflect.class;
  Field[] fields = clazz.getFields();
        for (Field field :fields) {
            System.out.println("本类及父类的所有属性"+field.getName());
        }

4.getMethods():获取本类和父类的所有public方法

  Class clazz  = Reflect.class;
  Method[] methods = clazz.getMethods();
  for (Method method :methods) {
            System.out.println("本类及父类的所有方法"+method.getName());
        }

5.getConstructors():获取本类所有public构造器

    Class clazz  = Reflect.class;
   Constructor[] constructors = clazz.getConstructors();
        for (Constructor constructor :constructors) {
            System.out.println("本类及父类的所有public属性"+constructor.getName());
        }

6.getDeclaredFields():获取本类所有属性

  Class clazz  = Reflect.class;
  Field[] declaredFields = clazz.getDeclaredFields();
        for (Field field :declaredFields) {
            System.out.println("本类的所有属性"+field.getName());
        }

7.getDeclaredFields():获取本类所有方法

  Class clazz  = Reflect.class;
  Field[] fields = clazz.getFields();
        for (Field field :fields) {
            System.out.println("本类的所有属性"+field.getName());
        }

8.getDeclaredFields():获取本类所有构造方法

  Class clazz  = Reflect.class;
  Constructor[] constructors = clazz.getDeclaredConstructors();
        for (Constructor constructor :constructors) {
            System.out.println("本类的所有构造器"+constructor.getName());
        }

9.getSuperclass():返回父类信息

        Class clazz  = User.class;
        System.out.println(clazz.getSuperclass());

9.getPackage():返回包名信息

        Class clazz  = Reflect.class;
        System.out.println(clazz.getPackage());

以上就是最为常用的反射api

posted @ 2022-04-04 14:45  小菜鸡小王  阅读(124)  评论(0)    收藏  举报