自定义注解

//自定义注解
@Target(ElementType.TYPE)
@Retention(RetentionPolicy.RUNTIME)
@Documented
public @interface CustomAnnotation {
    public String idol() default "";//默认值为空值
   //或者使它默认值不为空
   //public String idol()  default "你好";
}
/*自定义注解的格式:
*   public @interface 注解名{
*       修饰符 返回值 属性名() default/其他;
* }
* 定义注解的返回值类型:基本数据类型、String、Class、enum、Annotation
*/

@Retention(RetentionPolicy.RUNTIME):固定不变

JDK自带的注解

  1. @Target
  2. @Retention
  3. @Documented
  4. @Inherited

用于描述注解的使用范围,有一个枚举ElementType来指定,具体如下:

  1. CONSTRUCTOR:用于描述构造器
  2. FIELD:用于描述域
  3. LOCAL_VARIABLE:用于描述局部变量
  4. METHOD:用于描述方法
  5. PACKAGE:用于描述包
  6. PARAMETER:用于描述参数
  7. TYPE:用于描述类、接口(包括注解类型) 或enum声明

@Inherited 元注解是一个标记注解,@Inherited阐述了某个被标注的类型是被继承的。如果一个使用了@Inherited修饰的annotation类型被用于一个class,则这个annotation将被用于该class的子类。注意,@Inherited annotation类型是被标注过的class的子类所继承。类并不从它所实现的接口继承annotation,方法并不从它所重载的方法继承annotation。

若再加上@Compenent这个注解,那么自定义的注解也有@Compenent这个功能

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值