• 技术文章 >Java >java教程

    java中如何反射获取一个类

    高洛峰高洛峰2017-01-24 14:36:05原创606
    反射说白了就是可以获得一个类的所有信息,主要包括方法和属性两部分。

    1.获得方法包括获得方法的名称,方法的返回类型,方法的访问修饰符,以及通过反射执行这个方法。

    2.获得属性包括属性的名称,类型,访问修饰符,以及这个属性的值。

    这些获得都有相应的API提供操作。

    代码如下:

    package poi;
    import java.lang.reflect.Constructor;
    import java.lang.reflect.Field;
    import java.lang.reflect.Method;
    import java.lang.reflect.Modifier;
    import org.apache.poi.xwpf.usermodel.XWPFSettings;
    public class ReflectMain {
     public static void main(String[] arg) throws SecurityException, NoSuchFieldException, IllegalArgumentException, IllegalAccessException, ClassNotFoundException, InstantiationException{
     XWPFSettings ct = new XWPFSettings();
     Class c = ct.getClass();
     System.out.println("---------------------指定类的成员变量-----------------------");
     System.out.println("反射获得的类的成员变量个数");
     System.out.println(c.getDeclaredFields().length);
     for (Field fil : c.getDeclaredFields()) {
      System.out.print(fil.getType()+" ");
      System.out.println(fil.getName());
     }
     System.out.println("------------------------类的构造方法-----------------------");
     for (Constructor constructor : c.getDeclaredConstructors()) {
      System.out.print(Modifier.toString(constructor.getModifiers())+" ");
      System.out.println(constructor.getName());
     }
     System.out.println("--------------------------成员方法--------------------------");
     for (Method method : c.getDeclaredMethods()) {
      System.out.print(Modifier.toString(method.getModifiers())+" ");
      System.out.print(method.getReturnType()+" ");
      System.out.println(method.getName());
     }
     System.out.println("---------------------------类的修饰符------------------------");
     int mod = c.getModifiers();
     String modifier = Modifier.toString(mod);
     System.out.println("modifier = " + modifier);
     System.out.println("------------------------指定类的完全限定名--------------------");
     System.out.println(c.getName());
     System.out.println("------------------------指定类的父类限定名--------------------");
     System.out.println(c.getSuperclass().getName());
     }
    }

    以上内容是本文介绍java中如何反射获取一个类的全部内容,希望对大家今后的学习有所帮助,同时也希望与各位大侠共同学习、进步。

    更多java中如何反射获取一个类相关文章请关注PHP中文网!

    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。
    专题推荐:java 反射 获取类
    上一篇:利用反射获取Java类中的静态变量名及变量值的简单实例 下一篇:浅谈静态变量、成员变量、局部变量三者的区别
    20期PHP线上班

    相关文章推荐

    精选22门好课,价值3725元,开通VIP免费学习!• SpringCloud Tencent 全套解决方案一• 详细介绍Java虚拟机:JVM垃圾回收器• 实例详解Java实现简易版的图书管理系统• JAVA接口与抽象类详细解析• Java知识归纳之JVM详解
    1/1

    PHP中文网