zoukankan      html  css  js  c++  java
  • java注解

    注解使用的开始版本为Java SE 5.0

    元注解:注解的注解。个人理解为自己所定义的注解的属性。

    @Retention

      retention英文意味保留期。注解的释义为注解的存活时间。个人理解为:自己定义的注解所能存活的地点(源码、Class文件、JVM)。

      取值为:

      - RetentionPolicy.SOURCE 注解只在源码阶段保留,在编译器进行编译时它将被丢弃忽视。 
      - RetentionPolicy.CLASS 注解只被保留到编译进行的时候,它并不会被加载到 JVM 中。 
      - RetentionPolicy.RUNTIME 注解可以保留到程序运行的时候,它会被加载进入到 JVM 中,所以在程序运行时可以获取到它们。

    @Documented

      它的作用是能够将注解中的元素包含到 Javadoc 中去

    @Target

      标明所定义的注解所能修饰的范围,比如:类、构造方法、参数等

    • ElementType.ANNOTATION_TYPE 可以给一个注解进行注解
    • ElementType.CONSTRUCTOR 可以给构造方法进行注解
    • ElementType.FIELD 可以给属性进行注解
    • ElementType.LOCAL_VARIABLE 可以给局部变量进行注解
    • ElementType.METHOD 可以给方法进行注解
    • ElementType.PACKAGE 可以给一个包进行注解
    • ElementType.PARAMETER 可以给一个方法内的参数进行注解
    • ElementType.TYPE 可以给一个类型进行注解,比如类、接口、枚举

    @Inherited

      继承,可继承的。所定义的注解用@Inherited所标注后,这个注解所修饰的类被继承,则其子类也会有该注解的功能,即子类也会被该注解标注(自动的)。

    @Repeatable(该元注解为java 1.8 加入)

      重复,可重复的。使用@Repeatable标注的注解,表明在一个使用范围上该注解可以多次使用,比如角色注解@role被元注解@Repeatable所修饰,一个person的class被@role所标注,但是一个person可以有多个role,所以person的class可以被标注多次。

    @role(name="教师")
    @role(name="医生")
    @role(name="学生")
    class person{
    
    }
    

      

  • 相关阅读:
    帮助理解Docker,生动装逼介绍Docker
    Java 最常见 200+ 面试题 + 全解析
    CentOS7.0 yum安装 docker
    集合总结
    C#复习笔记
    match方法的使用
    偏函数
    通用装饰器
    装饰器修饰带参数的功能函数
    多个装饰器的使用
  • 原文地址:https://www.cnblogs.com/zzyytt/p/9023359.html
Copyright © 2011-2022 走看看