Java中提供3个内置注释类型
a. Override ,只能用于方法(不能用于类,包声明或者其他构造)
作用:注释能实现编译时检查,你可以为你的方法添加该注释,以声明该方法是用于覆盖父类中的方法。如果该方法不是覆盖父类的方法,将会在编译时报错。 用法:
@Override
public void fun(){..}
b.Deprecated 同样只能作用与方法
作用:是对不应该在使用的方法添加注释,当编程人员使用这些方法时,将会在编译时显示提示信息,它与javadoc里的@deprecated标记有相同的功能,准确的说,它还不如javadoc @deprecated,因为它不支持参数.
用法:
@Deprecated
public void fun{...}
c.SupressWarnings 可以注释一段代码
作用:关闭特定的警告信息,例如你在使用泛型的时候未指定类型
用法:
与前两个注释有所不同,你需要添加一个参数才能正确使用,这些参数值都是已经定义好了的,我们选择性的使用就好了,参数如下:
deprecation 使用了过时的类或方法时的警告
unchecked 执行了未检查的转换时的警告,例如当使用集合时没有用泛型 (Generics) 来指定集合保存的类型
fallthrough 当 Switch 程序块直接通往下一种情况而没有 Break 时的警告
path 在类路径、源文件路径等中有不存在的路径时的警告
serial 当在可序列化的类上缺少 serialVersionUID 定义时的警告
finally 任何 finally 子句不能正常完成时的警告
all 关于以上所有情况的警告
@SupressWarnings(value={"unchecked"})
public void fun{...}
Java中还提供了四种元注释,专门负责注释其他的注释
@Target表示该注释可以用于什么地方。
可用的ElementType参数包括:
CONSTRUCTOR : 构造器的声明
FIELD : 域声明(包括enum实例)
LOCAL_VARIABLE : 局部变量声明
METHOD : 方法声明
PACKAGE : 包声明
PARAMETER : 参数声明
TYPE : 类、接口 (包括注解类型) 或enum声明
public enum ElementType {
/** Class, interface (including annotation type), or enum declaration */
TYPE,
/** Field declaration (includes enum constants) */
FIELD,
/** Method declaration */
METHOD,
/** Parameter declaration */
PARAMETER,
/** Constructor declaration */
CONSTRUCTOR,
/** Local variable declaration */
LOCAL_VARIABLE,
/** Annotation type declaration */
ANNOTATION_TYPE,
/** Package declaration */
PACKAGE
}
@Retention 表示需要在什么级别保存该注释信息。可选的RetentionPoicy参数包括:
SOURCE : 注释将被编译器丢掉
CLASS : 注释在class文件中可用,但会被VM丢弃
RUNTIME : VM将在运行时也保留注释,因此可以通过反射机制读取注释的信息。
public enum RetentionPolicy {
/**
* Annotations are to be discarded by the compiler.
*/
SOURCE,
/**
* Annotations are to be recorded in the class file by the compiler
* but need not be retained by the VM at run time. This is the default
* behavior.
*/
CLASS,
/**
* Annotations are to be recorded in the class file by the compiler and
* retained by the VM at run time, so they may be read reflectively.
*
* @see java.lang.reflect.AnnotatedElement
*/
RUNTIME
}
@Documented 将注释包含在JavaDoc中
@Inheried 允许子类继承父类中的注释。
分享到:
相关推荐
`javax.annotation-api-1.3.2.jar` 包是Java标准版(Java SE)中的一个关键组件,它包含了用于开发和实现注解的API。这个API主要用于提供一些预定义的注解,这些注解可以增强代码的功能性和可维护性,同时减少对传统...
JDK9及以上版本没有javax.annotation-api-***.jar包 ,无法使用注解:@Resource JDK新特性,高版本JDK没有自带的javax(java扩展包)了。或者是使用的JDK不完整。 下载javax.annotation.jar包,导入到lib文件夹下,...
在Spring MVC框架中,`mvc:annotation-driven`是Spring MVC配置中的一个重要元素,它使得我们的应用能够支持基于注解的控制器、数据绑定、格式化转换器和服务端验证等功能。这篇博客将深入探讨`mvc:annotation-...
@Resource注解所在的jar包 与@Autowired不同的是此注解是ByName进行依赖注入的
javax.annotation包中包含了一些核心的Java注解,如: 1. `@NonNull`:用于表示方法参数或字段不应为null,有助于防止NullPointerException。在编译时,某些工具(如FindBugs)可以检查并报告违反此约束的地方。 2...
总结起来,`annotation-file-utilities.jar.zip`是一个强大的Java注解处理工具库,它为开发者提供了处理注解的便利,使得注解的使用更加灵活和广泛。无论是在代码质量控制、自动化测试还是在构建流程中,都有其发挥...
"Java注解面试题详解" 在 Java 中,注解(Annotation)是一种提供元数据的途径,用于关联信息和元数据。Java 5.0 中定义了 4 种标准的元注解(meta-annotation),它们被用来提供对其他注解的说明。 1. @Target @...
在Spring MVC框架中,`mvc:annotation-driven`和`mvc:message-converters`是两个非常重要的元素,它们在处理基于注解的控制器和数据转换方面起着关键作用。本篇文章将深入探讨这两个组件的工作原理以及如何在实际...
在描述中提到的"mybatis-generator-core-chinese-annotation-1.3.5-master.zip"是一个包含MBG中文注解版1.3.5版本的压缩包,旨在帮助开发者更方便地理解和使用这个工具。 MBG的核心功能在于根据数据库表自动生成...
在Java开发环境中,我们经常会遇到各种依赖问题,其中之一就是注解(Annotation)的使用。`javax.annotation`包是Java EE规范的一部分,包含了多种用于标注Java类、方法等元素的注解,例如`@PostConstruct`、`@...
标题中的“异常解决:错误:namespace element 'annotation-...理解Java注解的工作原理和Spring框架的内部机制也是解决问题的关键。通过查看和分析源代码,可以进一步增强对问题的理解,并有助于找到有效的解决方案。
Java注解,也称为Annotation,是自JDK 5.0版本起引入的一种元数据机制,它为程序提供了额外的信息,这些信息可以在编译时或运行时被解析和使用。元数据是描述数据的数据,注解就是一种特殊的数据类型,可以用于修饰...
《深入理解Java注解(Annotation)与jar包》 在Java编程中,注解(Annotation)扮演着重要的角色,它是元数据的一种形式,为代码提供了附加信息,这些信息可以被编译器、JVM或其他工具读取并执行相应操作。在Java SE ...
《深入解析annotation-framework-l10n.jar.zip:Java注解框架与本地化技术》 在IT行业中,理解和掌握各种库和框架是提升开发效率的关键。本文将深入探讨"annotation-framework-l10n.jar.zip"这一压缩包,它涉及到...
Java注解,也称为Annotation,是Java编程语言中的一种特性,用于向编译器、JVM或工具提供元数据。元数据是关于数据的数据,它提供了额外的信息,但不直接影响程序的执行。注解在代码中以`@注解名`的形式出现,主要...
在IT行业中,"annotation"(注解)是一个关键的概念,特别是在Java编程语言中。注解是一种元数据,它提供了在不改变程序代码行为的情况下向编译器或JVM(Java虚拟机)提供信息的方式。注解可以用于简化开发、提供...
"Hibernate Validator Annotation Processor 5.1.0.CR1"是该框架的一个特定版本,主要关注于编译时注解处理器。这个版本的发布可能包含了性能优化、新特性和bug修复。 【描述】"generate-default-impl-maven-plugin...
如果你想知道java annotation是什么?你可以看看
**hibernate-annotation-helloworld** 是一个基于Hibernate框架,使用注解方式实现的Hello World示例项目。在Java世界中,Hibernate是一个流行的持久层框架,它极大地简化了数据库操作,尤其是在对象关系映射(ORM)...