A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

© H_shaohui 中级黑马   /  2016-5-3 21:34  /  438 人查看  /  1 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

通过上面简单的介绍,相信大家了解了我们的Class 文件在加载到JVM 里面之后,实际存放的信息有很

多,而且上面介绍的都是大家有一定了解的,比如 方法 、属性 等等,那么反射是什么呢?
    所谓反射是JAVA 语言允许在 运行时拥有一种自审的能力,也就是说JVM 允许代码在运行期间可以获得

类的内部信息,简单的说我们可以在程序运行期间获得刚才我们介绍的类里面的信息。

    2.1 反射的常用方法:
        a.forName(String className) :
          返回与带有给定字符串名的类或接口相关联的 Class 对象。

        b.forName(String name, boolean initialize, ClassLoader loader) :
          使用给定的类加载器,返回与带有给定字符串名的类或接口相关联的 Class 对象。

        c.getAnnotation(Class<A> annotationClass)
          如果存在该元素的指定类型的注释,则返回这些注释,否则返回 null。

        d.getAnnotations()
          返回此元素上存在的所有注释。

        e.getConstructor(Class<?>... parameterTypes)
          返回一个 Constructor 对象,它反映此 Class 对象所表示的类的指定公共构造方法。

        f.getDeclaredField(String name)
          返回一个 Field 对象,该对象反映此 Class 对象所表示的类或接口的指定已声明字段。

        g.getDeclaredMethod(String name, Class<?>... parameterTypes)
          返回一个 Method 对象,该对象反映此 Class 对象所表示的类或接口的指定已声明方法。


这里我就不累赘了,仅仅引入性的介绍几个,更多的可以去看看API

1 个回复

倒序浏览
完全不明白
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马