zoukankan      html  css  js  c++  java
  • Java中的自定义注解

    自定义注解的语法要求

      

      定义自定义注解的关键字为@interface

      成员以无参无异常方式声明,可以给成员指定一个默认值(default);成员的类型是受限制的,合法的类型有基本数据类型及String,Class,Annotation,Enumeration;如果注解只有一个成员,则必须取名为value(),使用时可以忽略成员名和“=”

      注解类可以没有成员,此时称为标识注解

    __________________________________________________________________________

    元注解

      Java5.0定义了4个标准的meta-annotation类型,它们被用来提供对其它 annotation类型作说明。

      定义的元注解有(java.lang.annotation):

        @Target

        @Retertion

        @Inherited

        @Documented

        1)@Target:说明了Annotation所修饰的随想范围,即被修饰的注解的作用域

               ElementType的值有

                1.CONSTRUCTOR:用于描述构造器
                2.FIELD:用于描述域
                3.LOCAL_VARIABLE:用于描述局部变量
                4.METHOD:用于描述方法
                5.PACKAGE:用于描述包
                6.PARAMETER:用于描述参数
                7.TYPE:用于描述类、接口(包括注解类型) 或enum声明

          ps:每个参数之间用“,”隔开

        2)@Retertion:定义了该Annotation被保留的时间长短,即被描述的注解在什么范围内有效

              RetentionPoicy)有:

                  1.SOURCE:在源文件中有效(即源文件保留)
                 2.CLASS:在class文件中有效(即class保留)
                 3.RUNTIME:在运行时有效(即运行时保留)

        3)@Inherited:允许子类被继承

        4)@Documented:描述其它类型的annotation应该被作为被标注的程序成员的公共API,因此可以被例如javadoc此类的工具文档化。Documented是一个标记注解,没有成员。

    __________________________________________________________________________

    使用自定义注解

      语法:@<注解名>(<成员名1>=<成员值1>,<成员名2>=<成员值3>,...)

      

  • 相关阅读:
    浅析CString内部实现机制
    ...sourceannotations.h(142) : error C3094: “repeatable”: 不允许匿名使用
    非MFC项目使用CString及如何打印
    GetTextExtentPoint32--获取字符串在屏幕上长度
    窄字符与宽字符相关的操作
    如何给图片添加黑色边框
    react native
    礼仪 习俗 文化
    职业 行业 2 博客
    读书 文摘 笔记 2 人生的支柱
  • 原文地址:https://www.cnblogs.com/circle-quan/p/6409685.html
Copyright © 2011-2022 走看看