java注解

Posted 爱吃胡豆

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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{

}

  

 



以上是关于java注解的主要内容,如果未能解决你的问题,请参考以下文章

JAXB的@XmlElement注解

java代码在片段活动中不起作用

Android APT注解处理器 ( 根据注解生成 Java 代码 )

java 代码片段【JAVA】

# Java 常用代码片段

# Java 常用代码片段