Java注解java.annotation
什么是注解
Annotation是java5.0之后引入的新技术。
注解的作用
- 不是程序本身,他可以对程序作出一些解释
- 可以被其他程序读取比如编译器等等
注解的使用
通过@注解名 ,还可以添加参数值
元注解@Target,@Retention,@Documented,@Inherited
@Target :用于描述注解的适用范围
我们可以看一下他的源码,他的成员属性
ElementType[] value();
type表示应用在类中
field表示应用在成员变量中
public enum ElementType {
/** Class, interface (including annotation type), or enum declaration */
TYPE,
/** Field declaration (includes enum constants) */
FIELD,
/** Method declaration */
METHOD,
/** Formal parameter declaration */
PARAMETER,
/** Constructor declaration */
CONSTRUCTOR,
/** Local variable declaration */
LOCAL_VARIABLE,
/** Annotation type declaration */
ANNOTATION_TYPE,
/** Package declaration */
PACKAGE,
/**
* Type parameter declaration
*
* @since 1.8
*/
TYPE_PARAMETER,
/**
* Use of a type
*
* @since 1.8
*/
TYPE_USE
}
@Retention:表示在什么级别保存该注释信息用于描述注解的生命周期(Source<Class<Runtime),表示在什么地方有效
runtime>class>source
同理我们也可以翻看底层源码着很简单
@Documented 表示是否将我们的代码生成到javadoc中
@Inherited 表示可以继承父类的注解
自定义注解
使用 public @interface