如何在 Java 中创建自己的注解?


当我们开始学习 Java 时,我们经常会对像 @override 和 @inherited 这样的符号感到好奇。它们是一种特殊的标签,称为注解,可以应用于类、方法、字段、参数以及代码的其他元素。Java 提供了一些内置注解的支持,但是我们也允许创建自己的注解。在本文中,我们将学习如何创建和使用我们自己的自定义注解。

在 Java 中创建自定义注解

在创建我们自己的注解之前,让我们先熟悉一下 Java 中注解的基础知识。

注解

它们是 Java 的一个强大功能,允许我们向代码添加元数据。在这里,元数据是指有关特定代码块的其他信息。它们可以用于各种目的,包括文档、验证、测试、依赖注入等等。它们以“@”符号开头,并且可以具有可选的属性,这些属性提供其他信息。

Java 支持两种类型的注解:内置和自定义。内置注解具有预定义的含义和行为。

以下是一些内置注解

  • @Override:它表示方法覆盖了超类或接口中的另一个方法。

  • @Deprecated:用于将元素标记为已过时,以便在使用时生成警告。

  • @SuppressWarnings:抑制编译器警告。

到目前为止,我们已经介绍了注解及其一些预定义注解。现在,让我们讨论如何创建自定义注解。

创建我们自己的注解

第一步是使用 @interface 关键字声明它,后跟注解的名称。然后,下一步是添加一些描述新创建的注解的属性。属性可以是一些变量。

语法

@interface nameOfAnnotation { // declaration
   // Attributes
}
@nameOfAnnotation( values ) // initialization

示例 1

在下面的示例中,我们将创建一个名为“Author_details”的注解,以及它的两个必填属性“name”和“email”。

// declaring the annotation
@interface Author_details {
   // attributes of annotation
   String name(); 
   String email(); 
}
// to use the annotation
@Author_details(name = "Shriansh Kumar", email = 
"[email protected]")
public class Example1 {
   public static void main(String[] args) {
      System.out.println("This is an example of Annotation");
   }
}

输出

This is an example of Annotation

示例 2

在下面的示例中,我们将声明一个名为“Author_details”的注解,以及它的两个默认属性“name”和“email”。要定义默认属性,我们需要使用“default”关键字。

// declaring the annotation
@interface Author_details {
   // attributes of annotation
   String name() default "Shriansh Kumar"; 
   String email() default "[email protected]"; 
}
// to use the annotation
@Author_details
public class Example2 {
   public static void main(String[] args) {
      System.out.println("This is an example of Annotation");
   }
}

输出

This is an example of Annotation

示例 3

在下面的示例中,我们将创建一个并使用一个单值注解。

// declaring the annotation
@interface Author_details {
   // attributes of annotation
   String name() default "Shriansh Kumar"; 
}
// to use the annotation
@Author_details
public class Example3 {
   public static void main(String[] args) {
      System.out.println("This is an example of Annotation");
   }
}

输出

This is an example of Annotation

结论

注解只是告诉我们有关代码块的信息,它不会影响整个代码的工作方式。在本文中,我们首先学习了内置注解,在后面的部分,我们讨论了使用示例创建和使用自定义注解的过程。

更新于: 2023-07-19

531 次查看

开启你的 职业生涯

通过完成课程获得认证

开始学习
广告