Java四个自定义注解

Java四个自定义注解



1. @Target

用于描述注解的使用范围(可以用在哪里),不存在该注解就不要求是某些元素上
取值(ElementType):(大写,下面小写为了方便查看)

  • constructor:用于描述构造器
  • field:用于描述域
  • local_variable:用于描述局部变量
  • method:用于描述方法
  • package:用于描述包
  • parameter:用于描述参数
  • type:用于描述类、接口(包括注解类型)、enum声明
//该注释只能用在方法上
@Target(ElementType.METHOD)
@interface TestMenthod{}

2. @Retention

需要在什么级别保存该注释信息,用于描述注解的生命周期(被描述的注解在什么范围内有效)

取值(RetentionPolicy):(大写,下面小写为了方便查看)

  • source:在源文件中有效
  • class:在class文件中有效
  • runtime:在运行时中有效
//用于描述类、接口(包括注解类型)、enum声明
@Target(ElementType.TYPE)
@Rentention(RetentionPolicy.RUNTIME)
@interface TestTypeRn{}

3. @Documented

表示使用该注解的元素应被javadoc或类似工具文档化,应用于类型声明,类型声明的注解会影响客户端对注解元素的使用。如果一个类型声明添加该注解,就会成为被注解元素的公共API的一部分,他是一个标记注解

//可以被javadoc此类的工具文档化
@Documented
@interface TestDC{}

4. @Inherited

表示一个注解类型会被自动继承,如果用户在类声明时查询注解类型,类声明也没有这个类型的注解,会自动查询该类的父类,会一直找,直到找到该类型注解或者到达Object为止

//被子类继承的注解
@Inherrited
@interface TestInheri{}

@interface:用来声明一个注解,注解类里的每个方法实际上是声明了一个配置参数。方法的名称就是参数的名称,返回值类型是参数的类型,可以使用default来声明参数的默认值

@interface Simple{}

总结

本章Java四个自定义注解的介绍,欢迎指出错误点,可关注公众号:Java探索学者,进行更深入的探讨

  • 11
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值