zoukankan      html  css  js  c++  java
  • 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

  • 相关阅读:
    奇技淫巧训练之一
    基于JS模块化现状谈谈选择ES6模块的原因
    vue-cli3项目搭建配置以及性能优化
    Umi + DvaJS
    ReactFragment用法介绍
    什么是纯函数
    10.25考试
    10.23考试
    线段树合并(雨天的尾巴 题解)
    10.21考试
  • 原文地址:https://www.cnblogs.com/longshiyVip/p/4707652.html
Copyright © 2011-2022 走看看