android的反射和注解

来源:互联网 发布:亿图网络拓扑图 编辑:程序博客网 时间:2024/05/17 03:44

反射的文章http://www.cnblogs.com/lzq198754/p/5780331.html

     反射是java中一种强大的工具,能够使我们很方便的创建灵活的代码,这些代码可以再运行时装配

1反射机制是什么

反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意一个方法和属性;这种动态获取的信息以及动态调用对象的方法的功能称为java语言的反射机制。

2反射机制能做什么

反射机制主要提供了以下功能: 

  • 在运行时判断任意一个对象所属的类;

  • 在运行时构造任意一个类的对象;

  • 在运行时判断任意一个类所具有的成员变量和方法;

  • 在运行时调用任意一个对象的方法;

  • 生成动态代理。


  Java的注解(Annotation)相当于一种标记,在程序中加入注解就等于为程序打上某种标记,标记可以加在包,类,属性,方法,本地变量上。然后你可以写一个注解处理器去解析处理这些注解(人称编译时注解),也可以在程序运行时利用反射得到注解做出相应的处理(人称运行时注解)。

 二,反射机制的作用:

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

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


1,使用反射的注解框架简单但是带来的就是性能问题(因为在运行时处理),破坏了程序的封装性,比如XUtils框架

2,不使用反射,在编译时期的注解,会增加编译时间困难留给程序员,但是给用户的性能就比较好,比如butterknife注解开源框架


原创粉丝点击