Java程序除了代码和注释,还有@注解

Java 注解(Annotation)
  • 又称 Java 标注
  • JDK 1.5 引入的一种注释机制
  • 用来修饰程序的元素,但不会对被修饰的对象有直接的影响
  • 只有通过 某种配套的工具 才会对注解信息进行访问和处理

– 主要用途:
• 提供信息给编译器 / IDE 工具
• 可用于其他工具来产生额外的代码 / 配置文件等
• 有一些注解可在程序运行时访问,增加程序的动态性

注解划分的三大类:内建注解/元注解/自定义注解
1.内建注解
  • @Override 表示继承和重写
    – 修饰方法,检查该方法是父类的方法
  • @Deprecated 表示废弃
    – 修饰类 / 类的元素 / 包
    – 标注为废除,建议不再使用这个类 / 元素 / 包
  • @SuppressWarnings 表示压制警告
    – 可以修饰变量 / 方法 / 构造函数 / 类等
    – 压制各种不同类型的警告信息,使得编译器不显示警告
    – @SuppressWarnings(“unchecked”) 忽略 unchecked 警告信息
    – @SuppressWarnings(“deprecated”) 忽略过时方法的警告信息
    – @SuppressWarnings({“unchecked” ,“deprecated”}) 忽略两种警告
    信息
    – @ SuppressWarnings(values={“unchecked” ,“deprecated”}) 同上
    – @ SuppressWarnings( “all”) 忽略所有的警告信息
    – @ SuppressWarnings( “cast”) 忽略类转型警告
    – @ SuppressWarnings( “serial”) 忽略实现 Serializable 接口的,没有定义serialVersionUID
    • 使用 javac - - X 可以看当前的编译器使用哪些警告类型
    在这里插入图片描述
  • @ SafeVarargs 不会对不定项参数做危险操作
  • @ FunctionInterface 声明功能性接口
2.元注解:用来修饰其他的注解
  • @Target 设置目标范围
    – 限定目标注解作用于什么位置@Target({ElementType.METHOD})
    – ElementType.ANNOTATION_TYPE (注:修饰注解)
    – ElementType.CONSTRUCTOR
    – ElementType.FIELD
    – ElementType.LOCAL_VARIABLE
    – ElementType.METHOD
    – ElementType.PACKAGE
    – ElementType.PARAMETER
    – ElementType.TYPE
  • @Retention 设置保持性
    – 示例: @Retention(RetentionPolicy.RUNTIME)
    – 用来修饰其他注解的存在范围
    – RetentionPolicy.SOURCE 注解仅存在源码,不在 .class 文件。
    – RetentionPolicy.CLASS 这是默认的注解保留策略 。注解存在于
    .class 文件,但是不能被 JVM 加载。
    – RetentionPolicy.RUNTIME 这种策略下,注解可以被 JVM 运行时
    访问到。通常情况下,可以结合反射来做一些事情。
  • @Documented 文档
    – 指明这个注解可以被 Javadoc 工具解析,形成帮助文档
  • @Inherited 注解继承
    – 让一个类和它的子类都包含某个注解
    –普通的注解没有继承功能
  • @Repeatable 此注解可以重复修饰
    – 自 JDK1.8 引入
    – 表示被修饰的注解可以重复应用标注
    – 需要定义注解和容器注解

3.自定义注解

  • 扩展于 java.lang.annotation.Annotation
  • 成员可以包括多种类型
  • 使用时可以给注解成员赋值
@interface
Servlet 3.0的注解快捷配置

在这里插入图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值