首页 > 编程 > Java > 正文

JAVA中的反射机制

2019-11-09 15:17:45
字体:
来源:转载
供稿:网友

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

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

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

             反射是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类型

[java] view plain copyPRint?在CODE上查看代码片//第一种方式:  Classc1 = Class.forName("Employee");  //第二种方式:  //java中每个类型都有class 属性.  Classc2 = Employee.class;     //第三种方式:  //java语言中任何一个java对象都有getClass 方法  Employeee = new Employee();  Classc3 = e.getClass(); //c3是运行时类 (e的运行时类是Employee)  
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表