美文网首页
Java 的注解

Java 的注解

作者: 全球顶尖伪极客 | 来源:发表于2019-08-28 18:48 被阅读0次

什么是注解

An annotation is a form of metadata, that can be added to Java source code. Classes, methods, variables, parameters and packages may be annotated. Annotations have no direct effect on the operation of the code they annotate.

注解是一种元数据, 可以添加到java代码中类、方法、变量、参数、包都可以被注解,注解对注解的代码没有直接影响。之所以产生作用, 是对其解析后做了相应的处理。注解仅仅只是个标记罢了。

定义注解关键字:@interface

元注解

java内置的注解有Override, Deprecated, SuppressWarnings等, 作用相信大家都知道。

现在查看Override注解的源码

@Target(ElementType.METHOD)
@Retention(RetentionPolicy.SOURCE)
public @interface Override {
}

发现Override注解上面有两个注解, 这就是元注解元注解就是用来定义注解注解.其作用就是定义注解的作用范围, 使用在什么元素上等等。
元注解共有四种@Retention, @Target, @Inherited, @Documented

@Retention 保留的范围,默认值为CLASS.可选值有三种
  • SOURCE, 只在源码中可用
  • CLASS, 在源码字节码中可用
  • RUNTIME, 在源码字节码、运行时`均可用。

其中, @Retention是定义保留策略, 直接决定了我们用何种方式解析SOUCE级别的注解是用来标记的, 比如Override, SuppressWarnings. 我们真正使用的类型是CLASS(编译时)RUNTIME(运行时)

@Target 用来修饰哪些程序元素,

TYPE, METHOD, CONSTRUCTOR, FIELD, PARAMETER等,未标注则表示可修饰所有。

@Inherited 是否可以被继承,默认为false
@Documented 是否会保存到 Javadoc文档中

自定义注解

@Retention(RetentionPolicy.RUNTIME)
@Target(ElementType.FIELD)
public @interface TestAnnotation {
    String value();
    String[] value2() default "value2";
}

类型 参数名() default 默认值;

其中默认值是可选的, 可以定义, 也可以不定义.

处理运行时注解

Retention的值为RUNTIME时, 注解会保留到运行时, 因此使用反射来解析注解。
使用的注解就是上一步的@TestAnnotation
先了解一下反射:


相关文章

  • 菜鸟学服务端技术----Spirng基础

    注解 Java基础加强总结(一)——注解(Annotation) java中的注解是如何工作的? java 注解 ...

  • 自定义注解

    java annotation基础 java注解分为标准注解和元注解。 标准注解是java为我们提供的预定义的注解...

  • Java原生注解和Spring注解的说明

    注解 java 原生注解 Spring 中的注解 一 Java原生注解 Java注解是在JDK1.5以后引入的新特...

  • Java注解的使用

    Java注解的使用 参考 廖雪峰java教程 使用注解 什么是注解(Annotation)?注解是放在Java源码...

  • Java 注解

    JAVA注解 Java 自带注解(系统注解) @Override 表示重写注解 @Deprecated 表示过时的...

  • 1.8 Java 注解annotation

    1.1 注解声明 Java注解Annotation,有声明注解和元注解 元注解:Java提供的元注解,所谓元注解就...

  • Java注解学习总结(脑图)

    注解的提取测试:定义注解: 测试注解提取: 参考:《Java编程思想》java注解

  • Java注解(三)—元注解

    元注解就是注解的注解,是Java内置的注解。Java提供四个元注解:@Retention @Target @Doc...

  • Java注解简介篇

    摘要 本文详细介绍java注解是什么,如何声明java注解,如何解析java注解。最后介绍JDK提供的几大基本注解...

  • java 中的注解

    java 中的注解 使用的时候可以参考秒懂,Java 注解 (Annotation)你可以这样学 Java 注解用...

网友评论

      本文标题:Java 的注解

      本文链接:https://www.haomeiwen.com/subject/ufpmectx.html