java基础之--反射机制

  1. 反射的概念:

       反射是指程序可以访问、检测和修改它本身的状态和形为的一种能力,并根据自身形为的状态和结果,调整和修改程序所描述的形为的状态和相关语义。                 反射是java中一强大的工具,能够使我们很方便的创建灵活的代码,这些代码可以在运行时装配,无须在组件之间进行源码链接。但反射使用不当会使成本很高。

  2. 反射的作用:
    1. 反编译:.class-->.java
    2. 通过反射机制访问java对象的属性,方法,构造方法等;
  3. sun为我们提供的反射机制的类:
  4. java.lang.Class;                

    java.lang.reflect.Constructor; java.lang.reflect.Field;        

    java.lang.reflect.Method;

    java.lang.reflect.Modifier;

  5. 具体实现: 
    1.   反射机制获取类有三种方法 
          /**
                   * java中获取类有三种方法
                   * 1.通过类名来获取
                   * 2.java中每个类型都有class 属性.  
                   * 3.java语言中任何一个java对象都有getClass 方法  
                   */
                  Class clazz = Class.forName("test_reflect.Test_Reflect");
                  clazz = Test_Reflect.class;
                  clazz = new Test_Reflect().getClass();

       

    2. 创建对象:获取类以后我们来创建它的对象,利用newInstance
      Test_Reflect reflect = (Test_Reflect) clazz.newInstance();

       

    3. 获取属性:分为所有的属性和方法:

                Field fields[] = clazz.getFields();
                  
                  for (int i = 0; i < fields.length; i++) {
                      System.out.println(fields[i].getName());
                  }
                  
                  Method[] methods = clazz.getMethods();
                  for (int i = 0; i < methods.length; i++) {
                      System.out.println(methods[i].getName());
                  }

       

       

       

 

  

  

posted on 2016-05-11 18:06  Junqiang  阅读(204)  评论(0编辑  收藏  举报

导航