「java组合注解字段解析」java注解有哪几种

博主:adminadmin 2023-03-21 18:05:08 492

本篇文章给大家谈谈java组合注解字段解析,以及java注解有哪几种对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。

本文目录一览:

java中常用注解分别是什么及汉语意思!

Annotation(注解)是JDK5.0及以后版本引入的。它可以用于创建文档,跟踪代码中的依赖性,甚至执行基本编译时检查。注释是以‘@注释名’在代码中存在的,根据注释参数的个数,我们可以将注释分为:标记注释、单值注释、完整注释三类。它们都不会直接影响到程序的语义,只是作为注释(标识)存在,我们可以通过反射机制编程实现对这些元数据的访问。另外,你可以在编译时选择代码里的注释是否只存在于源代码级,或者它也能在class文件中出现。

元数据的作用

如果要对于元数据的作用进行分类,目前还没有明确的定义,不过我们可以根据它所起的作用,大致可分为三类:

编写文档:通过代码里标识的元数据生成文档。

代码分析:通过代码里标识的元数据对代码进行分析。

编译检查:通过代码里标识的元数据让编译器能实现基本的编译检查。

基本内置注解

@Override java中覆写

@Deprecated的作用是对不应该在使用的方法添加注释,当编程人员使用这些方法时,将会在编译时显示提示信息,它与javadoc里的

@deprecated标记有相同的功能,准确的说,它还不如javadoc

@deprecated,因为它不支持参数

@SuppressWarnings,其参数有:

deprecation,使用了过时的类或方法时的警告

unchecked,执行了未检查的转换时的警告

fallthrough,当 Switch 程序块直接通往下一种情况而没有 Break 时的警告

path,在类路径、源文件路径等中有不存在的路径时的警告

serial,当在可序列化的类上缺少 serialVersionUID 定义时的警告

finally ,任何 finally 子句不能正常完成时的警告

all,关于以上所有情况的警告

自定义注释

它类似于新创建一个接口类文件,但为了区分,我们需要将它声明为@interface,如:public @interface NewAnnotation {}............

java元注解,局部注解怎么解析

对于局部变量的注解只能在源码级别上进行处理,类文件并不描述局部变量。因此,所有的局部变量注解在编译完一个类的时候就会被遗弃掉。同样地,对包的注解不能在源码级别之外存在。

在文件package-info.java中注解一个包,该文件只包含以注解先导的包声明

包注解需要在特定文件:package-info.java,中添加,获取如下:

Package pkg = TestAnnotation.class.getPackage();

boolean hasAnnotation=pkg.isAnnotationPresent(Xpc.class);

if (hasAnnotation){

    Xpc xpc=pkg.getAnnotation(Xpc.class);

    System.out.println("package:" + pkg.getName());

    System.out.println("id=" + xpc.id());

    System.out.println("name=" + xpc.name());

    System.out.println("gid=" + xpc.gid());

}

java里spring自定义注解如何组合原有注解,如自定义@AjaxRequestMapping=@ResponseBody+@RequestMapping

@AliasFor(

annotation = RequestMapping.class

)

String[] value() default {};

用这种格式书写才能把值传递给@RequestMapping中去

Java中文档注释各字段的含义是什么?例如author表示作者,para表示参数等

常用Java注释标签(Java comment

tags)

@author 作者

适用范围:文件、类、方法

(*多个作者使用多个@author标签标识,java

doc中显示按输入时间顺序罗列。)

例:*

@author Leo. Yao

@param 输入参数的名称 说明

适用范围:方法

例:* @param str

the String用来存放输出信息。

@return 输出参数说明

适用范围:方法

例: *

@return codetrue/code执行成功;

* codefalse/code执行失败.

@since

JDK版本

用于标识编译该文件所需要的JDK环境。

适用范围:文件、类

例: * @since

JDK1.6

@version 版本号

用于标识注释对象的版本号

适用范围:文件、类、方法

例: * @version 1.0

@see 链接目标

表示参考。会在java 文档中生成一个超链接,链接到参考的类容。使用中的感觉是@see不需要包路径,对我这种懒人比较喜欢,相对{@link

}这种既要加大括号,有需要包路径,我还是选择偷懒,当然你要是不介意使用import导入要link的类,那就可以达到@see的效果,所以总体来说,还是选择@see,当然两个在特殊场合下还是用法不一样的

用法:

@see

#field

@see #Constructor(Type,

Type...)

@see #Constructor(Type id, Type

id...)

@see #method(Type,

Type,...)

@see #method(Type id, Type,

id...)

@see

Class

@see

Class#field

@see Class#Constructor(Type,

Type...)

@see Class#Constructor(Type id,

Type id)

@see Class#method(Type,

Type,...)

@see Class#method(Type id, Type

id,...)

@see

package.Class

@see

package.Class#field

@see

package.Class#Constructor(Type, Type...)

@see

package.Class#Constructor(Type id, Type id)

@see package.Class#method(Type,

Type,...)

@see package.Class#method(Type

id, Type, id)

@see

package

@throws 异常

标识出方法可能抛出的异常

适用范围:方法

例: * @throws IOException If an input or output

exception occurred

@deprecated 解释

标识对象过期

适用范围:文件、类、方法

@link 链接地址

链接到一个目标,用法类似@see。但常放在注释的解释中形如{@link …}

例:

/**

* @deprecated As of JDK 1.1,

replaced by

* {@link

#setBounds(int,int,int,int)}

*/

关于java组合注解字段解析和java注解有哪几种的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。