zoukankan      html  css  js  c++  java
  • 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());
                    }

         

         

      

      

  • 相关阅读:
    在VC中设置某些文件不参加编译的方法
    VC7/VC8开发的库在VC6中的使用问题转载
    *.tar.bz2文件解压
    设置VC工程为Debug或Releas版本的方法
    Linux下设置环境变量命令export
    Source insight中设置字体方法
    双系统或虚拟机中与主机时间不一致解决方法
    制作启动光盘方法
    Linux下nfs服务器搭建
    ghost的备份与恢复转载
  • 原文地址:https://www.cnblogs.com/Junqiang/p/5483044.html
Copyright © 2011-2022 走看看