Java基础--Java中的注解(超级详细)

Java中的注解

注解的概述

  • 从JDK5.0开始,Java增加了对元数据(metaData)的支持,也就是Annotation(注解)
  • Annotation其实就是代码里的特殊标记,这些标记可以在编译,类加载、运行时被读取,并执行相应的处理。

常见的Annotation示例

示例一:生成文档相关的注解

  • @author 标明开发开模块的作者,多个作者之间使用,分隔
  • @version 标明该类模块的版本
  • @see 参考转向,也就是相关主题
  • @since 从那个版本开始增加的
  • @param 对方法中某参数的说明,如果没有参数就不能写
  • @return 对方法返回值的说明,如果方法的返回值类型是void就不能写

其中@param,@return,@exception这三个标记都是只用于方法的

@param的格式要求:@param形参名 形参类型 形参说明

@return 的格式要求:@return返回值类型 返回值说明

@exception的格式要求:@exception 异常类型 异常说明

@param 和 @exception可以并列多个

示例二:在编译时进行格式检查(JDK内置的三个基本注解)

  • @Override:限定重写父类方法,该注解只能用于方法
  • @Deprecated:用于表示所修饰的元素(类、方法等)已过时,通常所修饰的结果危险或存在更好的选择
  • @SuppressWarnings:一直编译器警告

如何自定义注解,参照@SuppressWarning

定义新的Annotation类型使用 @interface 关键字

自定义注解自动继承了java.long.annotation.Annotation接口

Annotation的成员变量的在Annotation定义中以无参数方法的形式来声明,其方法名和返回值定义了该成员的名字和类型,我们称为配置参数,类型只能是八种基本数据类型、String类型、Class类型、enum类型、Annotation类型、以上所有类型的数组

可以在定义Annotation的成员变量时为其指定初始值,指定成员变量的初始值可食用default关键字

如果只有一个参数成员,建议使用参数名为value

如果定义的注解含有配置参数,那么使用时必须指定参数值,除非它有默认值,格式是:“参数名=参数值”,如果只有一个参数成员,且名称为value,可以省略value=

自定义注解通常都会指明两个元注解:Retention、Target

JDK中的四种元注解

JDK中的元注解用于修饰其他Annotation定义

JDK5.0提供了4个标准的meta-annotation类型,分别是:

  • Retention:只能那个用于修饰一个Annotation定义,用于指定该Annotatino的生命周期,@Retention包含一个RetentionPolicy类型的成员变量,使用@Retention时必须为该value成员变量指定值
  • Target:用于修饰Annotation能用于修饰哪些程序元素
  • Document:用于指定该元注解修饰的注解类将别javadoc工具提取成文档,默认javadoc是不包括注解的
  • Inherited:被它修饰的Annotation将具有继承性。
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

允谦呀

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值