美文网首页
Java注解笔记

Java注解笔记

作者: hbh404 | 来源:发表于2017-05-16 17:30 被阅读0次

Java注解详解

Java注解是JDK1.5以后添加的特性,自定义注解需要声明为@interface

最简单的注解:

public @interface Demo {
}   

定义注解时需要一些元注解

@Target 参数表示在什么地方使用该注解,一个方法或一个域等

CONSTRUCTOR: 构造器申明
FIELD: 域申明
LOCAL_VARIABLE: 局部变量申明
METHOD: 方法申明
PACKAGE: 包申明
PARAMETER: 参数申明
TYPE: 类,接口或枚举申明

源码:

@Documented
@Retention(RetentionPolicy.RUNTIME)
@Target(ElementType.ANNOTATION_TYPE)
public @interface Target {
    /**
     * Returns an array of the kinds of elements an annotation type
     * can be applied to.
     * @return an array of the kinds of elements an annotation type
     * can be applied to
     */
    ElementType[] value();
}

@Retention 用来定义该注解是哪一个级别可用:在源代码中、类文件中、还是运行时
没有注解元素的注解称为标记注解

SOURCE: 注解被编译器丢弃
CLASS: 注解在class文件中使用, 但会被JVM丢弃
RUNTIME: VM将在运行期也保留注解, 因此可以通过反射机智读取注解的信息

源码:

@Documented
@Retention(RetentionPolicy.RUNTIME)
@Target(ElementType.ANNOTATION_TYPE)
public @interface Retention {
    /**
     * Returns the retention policy.
     * @return the retention policy
     */
    RetentionPolicy value();
}

@Documented 表示将此注解包含在javadoc中

源码:

@Documented
@Retention(RetentionPolicy.RUNTIME)
@Target(ElementType.ANNOTATION_TYPE)
public @interface Documented {
}

@Inherited 表示允许子类继承父类中的注解

源码:

@Documented
@Retention(RetentionPolicy.RUNTIME)
@Target(ElementType.ANNOTATION_TYPE)
public @interface Inherited {
}

注解元素可以使用所有的基本类型、String、Class、Annotation等使用其他的类型会报错。

相关文章

  • 相关文章

    我的笔记核心理论基础、Socket通信原理、RPC远过程调用协议、Dubbo博客 java注解-01、java注解...

  • 2021校招 复习总结

    笔记导航: JAVA: 泛型 反射和动态代理 注解 JAVA多线程 ReentrantLock,Volatile,...

  • Java反射机制学习笔记

    上一篇《java注解学习笔记》中最后说到了注解的实现主要依赖java的反射机制,那么这一篇主要介绍一下java的反...

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

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

  • 自定义注解

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

  • Java注解的使用

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

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

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

  • Java注解笔记

    什么是注解? 注解不是注释,注释是给程序员看的,而注解是给程序看的。 注解用来描述程序如何运行及在什么阶段来运行。...

  • Java注解笔记

    Java注解详解 Java注解是JDK1.5以后添加的特性,自定义注解需要声明为@interface。 最简单的注...

  • Java注解笔记

    写在前面:这是一篇菜鸟的学习笔记。 Java有@Override,Spring有@Autowired,Spring...

网友评论

      本文标题:Java注解笔记

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