java学习之反射机制

来源:互联网 发布:资源搜索程序源码 编辑:程序博客网 时间:2024/05/25 01:35
  •   什么是反射

      java程序可以在运行期间动态的加载、解析和使用一些在编译阶段并不确定的类型,这一机制被称为“反射(reflection)”或者“内省(introspection)”.

  •   反射机制提供的功能

    1,加载运行时才能确定的类型

    2,解析类的结构、获取其内部信息

    3,操作该类型或其实例

         1》访问属性

         2》调用方法

         3》创建新对象

  •     java.lang.class 类

       class类的实例用于表示运行时的JAVA数据类型,包括类、接口、数组、枚举、注解和基本数据类型

      在类加载时, Java虚拟机会自动创建相应的class对象

     java.lang.reflect包

    1,java.lang.reflect.fleld

    2,java.lang.reflect.Method

    3,java.lang.reflect.Costructor

    4,java.lang.reflect.Modifer

    5,java.lang.reflect.Array

 

  •    使用反机制的基本步骤
  1. 获取目标类型相应的class对象
  2. 调用Class对象内省方法获取目标类成员信息
  3. 访问目标类方法信息/操作目标类成
  •     例一

 

 

 

 

  •     例二

 

 

 

 

  •  获取CLASS对象

     针对引用数据类型

  1. 调用静态方法Class.ForName(String  (class 全称包括包名))
  2. 调用Object类中定义的getClass()方法
  3. 使用.class 表达式
    例:class c1 = String.class;
          class c2 = Person.class;
     

       

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

原创粉丝点击