1.Java.lang包中常用的注解有@Override,@Deprected(已经废弃),@SupressWarning(屏蔽掉一些警告。)我们可以自定义注解。
2.Java注解之@Retention,@Documented,@Inherited.
3.java中注解主要的功能是:让开发更易,开发和部署工具可以以某种方式阅读并处理他们。包含注解的程序可以替代额外的Java源文件,XML文件或错误检测机制。
4.Java中注解的目的是:花更少得 时间在哪些死硬无用的细节中,更多的关注业务逻辑。利用注解可以明显的减少代码量,使得代码的结构清晰。
5.Java中的反射机制:是Java被视为动态(或者准动态)语言的一个关键性质,这个机制允许程序在运行是通过jdk给出的reflectionAPIs获取任何一个已知名称的class内部信息,包括其modifier(诸如:public,static等),superclass(例如:object),实现interface(例如:cloneable),也包括fileds和methods所有信息,并可以运行改变fields和methods。Java可以加载一个运行时才得知名称的class,获取其完整的结构。
6.反射机制的功能:获取类的class对象,获取类的fields,获取类的method,获取类的constructor,新建类的实例函数(class<T>的函数newInstance)。
7.Target里面的ElementType是用来指定Annotation类型可以用在哪些元素上的。例如:TYPE(类型),FIELD(属性),METHOD(方法),PARAMETER(参数),CONSTRUCTOR(构造函数),LOCAL_VARIABLE(局部变量),PACKAGE(包)。其中TYPE类型是指可以用在class,interface,enum,Annotatin类型上。
下面我们来看一下Android中的ViewMapping注解:
从上图我们可以看到,在这个注解上面有定义该注解的保留阶段是在Jvm。可以用在类型和属性上面。
原文:http://www.cnblogs.com/hupp/p/4705961.html