• Java自定义注解基础知识


    注解分为三类:没有任何元素的注解,有一个元素的注解和有多个元素的注解。

    1. Marker注解

    这类注解没有任何元素,此类注解仅仅是一个标示。如下所示:

    public @interface Good
    {
    }

    2. 单值注解

    只接受单值类型,数据成员使用单词value指定。指定成员的语法与声明方法类似。

    public @interface Good
    {
       String value();
    }

    可以像下面一样使用注解:

    @Good("this good")

    但是如果数据成员不使用value定义,新定义如下所示:

    public @interface Good
    {
       String description();
    }

    现在,需要使用下面的注解方式

    @Good(description="this good")

    注意:数据成员使用默认名称value时候,我们只指定了目标字符串,而省略了成员名称,这次我们需要显示拼写出数据成员的名称description,如果不这么做,编译器将会在编译过程中产生错误。

    3. 多值注解

    public @interface Good
    {
       String description();
       String target();
    }

    多值注解的使用方式如下所示:

    @Good(description="this good",target="examine")

    4. 设置默认值

    java允许为任何数据成员指定默认值,这可以使用default关键字来完成。例如:

    public @interface Good
    {
       String description();
       String target() default "examine";
    }

    当使用默认值注解的时候,target成员可以不指定,除非想为target设置不同的值。

    5. 注解的定义规则

    定义一个注解还是很简单的,需要遵照以下几个规则就可以了:
    (1)注解声明以@interface开设,随后是注解的名称。
    (2)为了创建注解的参数,需要使用参数的类型声明方法:
    方法声明不应包含任何参数;
    方法声明不应包含任何throws子句;
    方法的返回类型应该为:基本类型,字符串,类,枚举,上述类型的数组。

    具体使用方式请参考我的另外一篇博文:

    http://www.cnblogs.com/longshiyVip/p/4707519.html

  • 相关阅读:
    ubuntu12.04 安装配置jdk1.7
    Ubuntu下解决bash 没有那个文件或目录的方法
    Mongodb集群搭建的三种方式
    AngularJS 中文资料+工具+库+Demo 大搜集
    Android 反编译apk 详解
    Node.js 开发模式(设计模式)
    Comet:基于 HTTP 长连接的“服务器推”技术
    基于NodeJS的全栈式开发
    node.js应用Redis数据库
    Hibernate(二):MySQL server version for the right syntax to use near 'type=InnoDB' at line x
  • 原文地址:https://www.cnblogs.com/longshiyVip/p/4707652.html
Copyright © 2020-2023  润新知