格式
四大属性
@Target()
表示注解可以用在哪些地方,如ElementType.FIELD,只能使用在字段上,ElementType.METHOD只能用在方法上;ElementType.TYPE只能用在类上
@Retenion()
表示需要在什么级别保存该注解信息
RUNTIME > CLASS > SOURCE
@Document()
@Inherited()
表示可以被子类继承的注解
package com.myself.learn.annotation;
import java.lang.annotation.*;
/**
* @author zhangxiaofan
* @date 2021/12/18 11:51
*/
public class Test {
@MyAnnotation
private String name;
@MyAnnotation
public void test(){
}
}
//表示注解可以用在那些地方,如:ElementType.FIELD,只能使用在字段上,ElementType.METHOD只能用在方法上;ElementType.TYPE只能用在类上
@Target( value = { ElementType.FIELD , ElementType.METHOD ,ElementType.TYPE } )
@Retention( value = RetentionPolicy.RUNTIME ) // 表示需要在什么级别保存该注释信息,用于描述注解的生命周期,表示注解在什么地方有效,使用范围:SOURCE<CLASS<RUNTIME
@Documented //表示是否将我们的注解生成JavaDoc文档中
@Inherited //表示可以被子类继承父类的元注解
@interface MyAnnotation{
}