Java之自定义注解

什么是注解?

  • Annotation是JDK5.0开始引入的技术
  • Annotation的作用可以对程序作出解释(和注释没什么区别),可以被其他程序读取
  • Annotation的格式是以“@注释名“在代码中存在的,还可以添加参数值,如@SuppressWarnings(value = “all”)
  • Annotation可以附加在package,class,method,field等上面,给他们添加额外的辅助信息,可以配合反射实现对元数据的访问

Java内置注解

  • @Override:定义在java.lang.Override中,此注释作用于方法上,表示一个方法重写超类中的另一个方法声明
  • @Deprecated:定义在java.lang.Deprecated中,此注释作用于方法,属性,类,表示不鼓励程序员使用,通常是因为它很危险或者存在更好的选择
  • @SuppressWarnings:定义在java.lang.SuppressWarnings中,用来意志编译时的警告信息
  • JDK还有许多内置注解,有兴趣可以去观看源码,这里就不一一列举了

元注解

元注解的作用是负责注解其他注解,Java定义了4个标准的meta-annotation类型,它们被用来提供对其他annotation类型作解释。

这些类型和它们所支持的类在java.lang.annotation包中可以找到(@Target,@Retention,@Decumented,@Inherited)

  • @Target:用于描述注解的使用范围(注解使用在类上,方法上,字段上等等)
  • @Retention:表示需要在什么级别保存该注释信息,用于描述注解的生命周期(SOURCE < CLASS < RUNTIME)
  • @Decument:说明该注解将被javadoc打包生成
  • @Inherited:说明子类可以继承父类中的注解

自定义注解

  • @interface用来声明一个注解,格式为:public @interface 注解名 { 定义内容 }
  • 其中的每一个方法实际上是声明了一个配置参数
  • 方法的名称就是参数的名称
  • 返回值类型就是参数的类型(返回值只能是基本类型Class,String,Enum)
  • 可以通过default来声明参数的默认值
  • 如果只有一个参数成员,一般参数名为value
  • 注解元素必须要有值,我们定义注解元素时,经常使用空字符串或者0作为默认值

自定义注解演示案例

创建一个注解MyAnnotation.java:
在这里插入图片描述

创建一个pojo名为User.java:
在这里插入图片描述

创建一个Test.java演示自定义注解:
在这里插入图片描述

最终控制台输出结果:
在这里插入图片描述

总结

注解其实跟我们平时写代码的注释没多大区别,主要是注释给我们程序员看的,而注解是给程序解释的。通常注解和反射一起运用才是绝配,可以发挥出很强大的作用。希望这篇自定义注解对你们有所帮助~~~

  • 3
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值