浅谈Java中的注解

2017-01-01  本文已影响0人  cp_insist

引言:Java中注解使我们学习框架是常常用到的概念之一;随着自己学习java的时间积累,对它的认识越来越清晰,今天又重新温习了以便Java的注解:所以记下如下笔记:

一:什么是Java注解?

二:怎么使用

@interface myAnnoa{
String name();
int age() default 23;
}
//注意:有默认值的我们再赋值时可以不用写
@myAnnoa(name='陈鹏',age=22)
public class demo{
}

 + 1.2:注解的适用范围:
  注解的作用目标:
    * <1>类 ElementType.TYPE,
    * <2>方法  ElementType.METHOD
    * <3>构造器 ElementType.CONSTRUCTOR
    * <4>参数 ElementType.PARAMETER
    * <5>局部变量 ElementType.LOCAL_VARIABLE
    * <6>包 ElementType.PACKAGE
    * <7>属性 ElementType.FIELD
    * <8>注解类型  ElementType.ANNOTATION_TYPE
通过适用关键字@Target里面的ElementType类确定

@Target(value={ElementType.TYPE, ElementType.METHOD, ElementType.FIELD})
@interface MyAnno1 {
}

PS:属性名字为value时;在给注解类型赋值时可以不用使用键直接赋值即可
如:

@Target(ElementType.TYPE, ElementType.METHOD, ElementType.FIELD)
@interface MyAnno1 {
}

 + 1.3: 注解保留策略
   * 源代码文件(SOURCE):注解只在源代码中存在,当编译时就被忽略了
   * 字节码文件(CLASS):注解在源代码中存在,然后编译时会把注解信息放到了class文件,但JVM在加载类时,会忽略注解!
   * JVM中(RUNTIME):注解在源代码、字节码文件中存在,并且在JVM加载类时,会把注解加载到JVM内存中(它是唯一可反射注解!)
  限定注解的保留策略语法:

@Retention(RetentionPolicy.RUNTIME)

上一篇下一篇

猜你喜欢

热点阅读