如何在 Java 中创建自定义注解?

注解(Annotation)是一种元数据,它提供关于程序的信息,但本身不是程序的一部分。注解不会影响被注解代码的运行。

现在让我们来看看 Java 中存在的不同类型的注解,如下所列:

  • 预定义注解:@Deprecated, @Override, @SuppressWarnings, @SafeVarargs, @FunctionalInterface。
  • 元注解:@Retention, @Documented, @Target, @Inherited, @Repeatable。
  • 自定义注解:这些是由用户定义的。(我们将在这个模块中学习如何创建自定义注解)。

现在,你一定想知道我们如何创建自己的 Java 注解,为此,请按顺序参考以下简单步骤:

  • 要创建你自己的 Java 注解,你必须使用 @interface Annotation_name,这将为你创建一个新的 Java 注解。
  • @interface 将描述新注解类型的声明。
  • 在给注解命名后,你需要创建一个语句块,在其中你可以声明一些变量。

 继续往下,Java 中可以定义三种形式的注解,如下所示:  

  • 标记注解:这些注解内部没有声明或定义任何变量。
  • 单值注解:这些注解内部只声明或定义了一个变量。
  • 多值注解:这些注解内部可以声明和定义多个类型的多个变量。

实现:     

让我们以一个名为 books_data 的自定义注解为例,来理解不同形式的注解是如何声明的。

@interface books_data // 使用语法 : @interface Annotation_name,我们在这里声明了一个新注解。
{ // 注解声明和定义的开始

/*
在注解内部定义变量是可选的。
注解内部声明的变量数量将描述其形式。
*/

} // 注解声明和定义的结束

示例 1:

Java


CODEBLOCK_8f440995

输出

example of Marker Annotations.

> 由于此注解内部未声明任何变量,因此它被称为 标记注解。

示例 2:

Java


CODEBLOCK_a3de4c2a

输出

example of single value Annotation.

> 我们可以看到我们声明了一个 String 类型的变量 book_name,并且它是注解内部声明的唯一变量,因此,这是一个 单值注解 的示例。

示例 3: 我们将在我们的注解中声明以下变量:

> @interface books_data {

>

>

> String book_name();

>

>

> int book_price();

>

>

> String author();

>

>

> }

Java


CODEBLOCK_983191b3

输出

example of multi value Annotation.

> 我们在注解内部声明了多个变量,这是一个 多值注解 的示例。

现在让我们看看如何使用自定义注解,为此 让我们看看你可以如何使用你的自定义注解:

  • 方法 1:默认注解
  • 方法 2:自定义注解

专注于自定义注解,为了使用你的自定义注解,我们只需要使用注解名称(前面加上 @符号)来调用你的注解,并按有序的方式将声明变量的值传递给你在注解中声明的变量。

示例 1:

Jav

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。如需转载,请注明文章出处豆丁博客和来源网址。https://shluqu.cn/22437.html
点赞
0.00 平均评分 (0% 分数) - 0