• JAVA中的反射机制


               反射,当时经常听他们说,自己也看过一些资料,也可能在设计模式中使用过,但是感觉对它没有一个较深入的了解,这次重新学习了一下,感觉还行吧!


               一,先看一下反射的概念:

                  主要是指程序可以访问,检测和修改它本身状态或行为的一种能力,并能根据自身行为的状态和结果,调整或修改应用所描述行为的状态和相关的语义。

                 反射是java中一种强大的工具,能够使我们很方便的创建灵活的代码,这些代码可以再运行时装配,无需在组件之间进行源代码链接。但是反射使用不当会成本很高!

                 看概念很晕的,继续往下看。

     

          二,反射机制的作用:

                  1,反编译:.class-->.java

                  2,通过反射机制访问java对象的属性,方法,构造方法等;

                 这样好像更容易理解一些,下边我们具体看怎么实现这些功能。


          三,在这里先看一下sun为我们提供了那些反射机制中的类:

    java.lang.Class;                

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

    java.lang.reflect.Method;

    java.lang.reflect.Modifier;


                很多反射中的方法,属性等操作我们可以从这四个类中查询。还是哪句话要学着不断的查询API,那才是我们最好的老师。


             四,具体功能实现:

                    1,反射机制获取类有三种方法,我们来获取Employee类型

    1. //第一种方式:  
    2. Classc1 = Class.forName("Employee");  
    3. //第二种方式:  
    4. //java中每个类型都有class 属性.  
    5. Classc2 = Employee.class;  
    6.    
    7. //第三种方式:  
    8. //java语言中任何一个java对象都有getClass 方法  
    9. Employeee = new Employee();  
    10. Classc3 = e.getClass(); //c3是运行时类 (e的运行时类是Employee)  

     

        2,创建对象:获取类以后我们来创建它的对象,利用newInstance

    1. Class c =Class.forName("Employee");  
    2.   
    3. //创建此Class 对象所表示的类的一个新实例  
    4. Objecto = c.newInstance(); //调用了Employee的无参数构造方法.  
  • 相关阅读:
    XMIND
    android studio 更新 Gradle错误解决方法
    解决下载Android Build-tools 19.1.0失败
    Android Studio怎么删除项目
    android studio 更改背景和设置字体大小
    IOS开发常用技术网站
    Gitbook安装
    深入解析AsyncTask(转)
    Android中Bitmap和Drawable(转)
    提高Android在eclipse下的编译速度
  • 原文地址:https://www.cnblogs.com/jpfss/p/8126586.html
Copyright © 2020-2023  润新知