java 注解

作者: qming_c | 来源:发表于2018-01-30 22:59 被阅读0次

    引入版本 : Java SE5
    注解(也成为元数据)为我们在代码中添加信息提供了一种形式化的方法,使我们在稍后某个时刻非常方便的使用这些数据。

    三个java.lang自带的标准注解

    @override : 表示当前方法的定义将覆盖父类中的方法。如果方法签名对不上被覆盖的方法,编译器会报错。
    @Deprecated: 表示该元素已经过时,如果使用了该元素,编译器会发出一个warning。
    @SuppressWarnings:关闭不当的编译器警告信息。

    定义注解

    @Target(ElementType.METHOD)//作用对象
    @Retention(RetentionPolicy.SOURCE) //定义保存元数据的级别
    public @interface test{
          public int id();
          public String description() default "no description";
    }
    

    使用注解

    @test(id = 1)
    public boolean testMethod(){
    }
    

    四种元注解,负责注解其他的注解

    @Target 表示注解用在什么地方,可使用枚举类ElementType中的元素
    • CONSTRUCTOR (构造方法)
    • FIELD (类中的域 包括 enum)
    • LOCAL_VARIABLE (局部变量)
    • METHOD (方法)
    • PACKAGE (包)
    • PARAMETER (参数)
    • TYEP (类,接口, enum声明)

    也可以使用该注解表示应用在所有的范围

    @Retention 表示在什么级别保存注解的信息,可使用枚举类RetentionType中的元素
    • SOURCE(注解将被编译器丢弃)
    • CLASS (注解在class文件中可用,会被jvm丢弃)
    • RUNTIME (在运行期间保留该注解,可以通过反射机制获取注解的信息)
    @Documented表示该注解包含在javadoc中
    @Inherited表示该注解可以被继承

    注解处理器

    通过反射机制实现一个注解处理器,将注解中的信息应用到对应的范围中

    注解元素

    注解元素可以使用的类型包括:

    • 所有的基本类型
    • String
    • Class
    • enum
    • Annotation

    否则会报错
    注:基本类型不允许使用包装类

    相关文章

      网友评论

        本文标题:java 注解

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