java 注解

1.Annotation的概念

注解是一种可以添加到Java源代码的元数据.

类,方法,变量,参数,包都可以被注解.

注解对注解的代码并没有直接的影响.

注解仅仅是个标记.注解之所以起作用是对其解析后做了相应的处理

 

2.Annotation分类

标准Annotation

标准Annotation是指Java内置的三个Annnotaion:

@Override:用于修饰此方法覆盖了父类的方法.

@Deprecated:用于修饰已经过时的方法.

@SuppressWarnnings:用于通知java编译器禁止特定的编译警告.

元Annotation(注解的注解)

元Annotation是用来定义Annotation的Annotation

元Annotation可以定义Annotation的作用范围,使用在什么元素上等

元注解共有四种@Retention, @Target, @Inherited, @Documented

自定义Annotation

 

3.Annotation作用

格式检查:告诉编译器信息,比如被@Override标记的方法如果不是父类的某个方法,IDE会报错;

减少配置:运行时动态处理,得到注解信息,实现代替配置文件的功能;

减少重复工作:比如第三方框架xUtils,通过注解@ViewInject减少对findViewById的调用,类似的还有(JUnit、ActiveAndroid等);

 

 

4.元注解

上文提到的四个注解:@Documented、@Retention、@Target、@Inherited就是元注解,它们的作用是负责注解其它注解,主要是描述注解的一些属性,任何注解都离不开元注解(包括元注解自身,通过元注解可以自定义注解),元注解的用户是JDK,JDK已经帮助我们实现了这四个注解的逻辑。这四个注解在JDK的java.lang.annotation包中。


5.自定义注解

使用@interface自定义注解时,自动继承了java.lang.annotation.Annotation接口,由编译程序自动完成其他细节。在定义注解时,不能继承其他的注解或接口。@interface用来声明一个注解,其中的每一个方法实际上是声明了一个配置参数。方法的名称就是参数的名称,返回值类型就是参数的类型(返回值类型只能是基本类型、Class、String、enum)。可以通过default来声明参数的默认值。


posted @ 2019-03-22 14:36  liit  阅读(104)  评论(0编辑  收藏  举报