注释在 Java 开发工具包 (JDK) 1.5 版本中引入或可用。 Java 中的注解提供了有关代码结构中存在的数据的更多信息,即,它是关于数据的数据,也称为元数据。
Java 中的注解是什么?
注释有助于以标准化方式定义代码中的元数据。此外,注释还有助于向 Java 编译器提供编译 Java 代码时要遵循的指令。
开始您的免费软件开发课程
网络开发、编程语言、软件测试及其他
使用注解时,我们使用“@”符号,然后加上注解的名称,以便编译器将其视为注解。
需要注意的是,注释可以添加在:
之前- 类声明
- 成员变量声明
- 构造函数声明
- 方法声明
- 参数声明
- 局部变量声明。
要记住的重要一点是所有注释都扩展 java.lang.annotation.Annotation 接口。此外,注释不能包含任何扩展子句。
内置 Java 注解
在Java中,有一些内置的注释,例如@Override、@Deprecated、@SuppressWarnings,它们是为特定目的而设计的,并在上述情况之一中使用,例如,仅用于类或仅用于方法等
示例 #1 – 覆盖
代码:
class Dad { public void say() { System.out.println("Do your homework"); } } public class Child extends Dad { @Override public void say(){ System.out.println("I wanna play"); } public static void main(String args[]){ Dad daddy = new Child(); daddy.say(); } }
输出:
示例 #2 – 已弃用
代码:
public class Outdated { @Deprecated public void oldShow() { System.out.println("This Method is deprecated"); } public static void main(String args[]) { Outdated od = new Outdated (); od.oldShow(); } }
输出:
元注释
元注释有五种类型:
- 记录 – 它通知使用此注释的成员、变量或类需要由 Javadoc 或任何其他可用的类似工具记录。
- 目标 – 用于指定注释使用的类型。它主要与您的自定义注释一起使用。
- 继承 – 标记要继承给子类的注解。
- 保留 – 指示带注释类型的注释要保留多长时间。它采用保留策略参数,其可能值为:SOURCE、CLASS 和 RUNTIME。
- 可重复 - 这表明其声明的注释类型是可重复的。
示例 – 文档和保留
代码:
import java.lang.annotation.*; @Retention(RetentionPolicy.RUNTIME) @interface RSample { String rentent(); } @Documented @interface DSample { String doc(); } public class MetaAnnotate { public static void main(String arg[]) { new MetaAnnotate().rentent(); new MetaAnnotate().doc(); } @RSample (rentent="Meta Info R") public void rentent() { System.out.println("Retention Policy Applied"); } @DSample(doc="Meta Info D") public void doc() { System.out.println("Code Documented with the value"); } }
输出:
说明:
- RetentionPolicy.RUNTIME – 该值指定注释值应在运行时可用,以便通过 java 反射进行检查。
- 运行 Javadoc 命令来查看代码的文档。
注释类型
注释分为三类,具体如下:
1。标记注释 – 这些类型的注释用作声明,通知开发人员以下函数或类的全部内容,即,它共享有关函数或类的额外信息,例如该函数是否覆盖另一个函数或者是函数已弃用等。@Override、@Deprecated 被视为标记注释。
示例: DemoAnnotation()
2。单值注释 – 这种注释采用值来指定注释放置在前面的成员的值,因此不需要指定该成员的名称。
示例: DemoAnnotation(“custId123”)
3。完整注释 – 这种注释采用多个值、对、成员。
示例: DemoAnnotation(category=”Toys”, value=1500)
自定义
自定义注释由用户界面创建,后跟注释名称,如我们将在下面的示例中看到的。
文件 1:定义的自定义注释
import java.lang.annotation.ElementType; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; import java.lang.annotation.Target; @Target({ElementType.TYPE, ElementType.METHOD}) @Retention(RetentionPolicy.RUNTIME) @interface Magicians { String Wizard() default "Reynolds"; String House() default "Green"; } @Magicians public class Magician { @Magicians(Wizard = "Harry Potter", House = "Red") public String getString() { return null; } }
文件2:调用自定义注解类的主类
import java.lang.annotation.Annotation; import java.lang.reflect.AnnotatedElement; import java.lang.reflect.Method; public class MyCustomAnnotation { public static void main(String[] args) throws NoSuchMethodException, SecurityException { new Magician(); Class<magician> magic = Magician.class; readAnnotationOn(magic); Method method = magic.getMethod("getString", new Class[]{}); readAnnotationOn(method); } static void readAnnotationOn(AnnotatedElement element) { try { System.out.println("\n Find annotations on " + element.getClass().getName()); Annotation[] annotations = element.getAnnotations(); for (Annotation annotation : annotations) { if (annotation instanceof Magicians) { Magicians mData = (Magicians) annotation; System.out.println("Wizard Name :" + mData.Wizard()); System.out.println("Wizard House Color :" + mData.House()); } } } catch (Exception e) { e.printStackTrace(); } } }</magician>
输出:
结论
在本文中,我们通过示例了解了什么是 java 注释及其类型,我们看到了 java 提供的内置注释的示例,并编写了自定义注释。我们看到注释对于标准化代码很有用,也有助于更好地理解代码及其结构。
以上是Java注解的详细内容。更多信息请关注PHP中文网其他相关文章!

本文讨论了使用Maven和Gradle进行Java项目管理,构建自动化和依赖性解决方案,以比较其方法和优化策略。

本文使用Maven和Gradle之类的工具讨论了具有适当的版本控制和依赖关系管理的自定义Java库(JAR文件)的创建和使用。

本文讨论了使用咖啡因和Guava缓存在Java中实施多层缓存以提高应用程序性能。它涵盖设置,集成和绩效优势,以及配置和驱逐政策管理最佳PRA

本文讨论了使用JPA进行对象相关映射,并具有高级功能,例如缓存和懒惰加载。它涵盖了设置,实体映射和优化性能的最佳实践,同时突出潜在的陷阱。[159个字符]

Java的类上载涉及使用带有引导,扩展程序和应用程序类负载器的分层系统加载,链接和初始化类。父代授权模型确保首先加载核心类别,从而影响自定义类LOA


热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

AI Hentai Generator
免费生成ai无尽的。

热门文章

热工具

MinGW - 适用于 Windows 的极简 GNU
这个项目正在迁移到osdn.net/projects/mingw的过程中,你可以继续在那里关注我们。MinGW:GNU编译器集合(GCC)的本地Windows移植版本,可自由分发的导入库和用于构建本地Windows应用程序的头文件;包括对MSVC运行时的扩展,以支持C99功能。MinGW的所有软件都可以在64位Windows平台上运行。

适用于 Eclipse 的 SAP NetWeaver 服务器适配器
将Eclipse与SAP NetWeaver应用服务器集成。

记事本++7.3.1
好用且免费的代码编辑器

Dreamweaver Mac版
视觉化网页开发工具

SublimeText3 Linux新版
SublimeText3 Linux最新版