黑马程序员技术交流社区

标题: 反射概念 [打印本页]

作者: H_shaohui    时间: 2016-5-3 21:34
标题: 反射概念
通过上面简单的介绍,相信大家了解了我们的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


作者: sun2582589    时间: 2016-5-3 21:40
完全不明白




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2