java注解上加注解,java注解的作用
什么是注解?
注释,也称为元数据。代码级别的描述。是JDK1.5及以后版本引入的特性,和类、接口、枚举是一个级别的。可以在包、类、字段、方法、局部变量、方法参数等前面声明。来解释和评论这些元素。
我们可以把注释理解为代码中的特殊标记,可以在编译、类加载和运行时读取和处理。通过注释,开发人员可以在源代码中嵌入补充信息,而无需更改原始代码和逻辑。
1、注解的作用
制单:根据【单据单据生成】代码中标识的批注生成单据
代码分析:通过代码中标识的注释来分析代码[使用反射]
编译检查:编译器可以通过代码中标识的注释实现基本的编译检查[@Override]。
2、JDK中预定义的注解
@覆盖
检查此批注标记的方法是否继承自父类(接口)。
@已弃用
此注释的内容表明它已经过时。用的时候会有一条横线。
应用该注解
警告,通常传递参数all @ suppresswarnings ("all ")。
(视频教程推荐:java视频)
3、自定义注解
格式
public @interface {
属性列表;
}本质:annotation本质上是一个接口,默认继承了Annotation接口,可以通过javap类名反编译类文件。类命令。
接口my annotation扩展Java . lang . annotation . annotation { }属性:
注释中的属性是接口中的抽象方法。
要求:
属性的返回值类型只能是以下类型
基本数据类型
线
列举
给…作注解
以上类型的数组
public @interface MyAnno {
int age();
字符串名称();
//枚举类型
每人();
//注释类型
myanno 2 anno 2();
//数组类型
string[]strs();
}
//枚举类Person
公共枚举人员{
P2 P1;
}注意:
属性已定义。使用它们时,必须给它们赋值,多个属性用逗号分隔。所以一般评论中的中文法名一般都是作为属性名;
如果default关键字用于在定义属性时初始化属性的默认值,则没有必要为属性赋值。
如果只需要赋一个属性,并且属性的名称是value,可以省略value直接定义属性值;
分配数组时,该值用{}包装。如果数组中只有一个值,可以省略{}。
@MyAnno(年龄=20,姓名=张三,人均=人。P1,anno2=@MyAnno2,strs={ 张三,李四 })
公共类测试{
}元评论:用于描述评论的评论。
@目标
当前描述的批注可以起作用的位置。批注只有一个属性是value,返回值是ElementType枚举类型的数组。
元素的公共值:
类型:可以作用于类。
方法:可以作用于方法。
字段:可以作用于成员变量。
@Rentention
描述保留注释的阶段。该批注只有一个属性值,返回值是RetentionPolicy枚举类型。
保留策略的值。
SOURCE:当前描述的注释不会保存在类文件中。
class:当前描述的注释将保存在CLASS字节码文件中,但不会被JVM读取。
运行时:当前描述的注释将保存在类字节码文件中,由JVM读取。用户定义的值通常采用该值。
@已记录
当前描述的注释是否被提取到api文档中?
@继承
当前描述的描述注释被子类继承了吗?
经常使用前两个元注释。
4、注解的使用
在程序中使用注释:获取这些段落中定义的属性值。
//专业评论
@Target(ElementType。类型)
@保留(RetentionPolicy。运行时间)
公共@界面专业版{
string class name();
字符串method name();
}
//在程序中使用注释
@ pro(class name=anli。Demo1 ,methodName=show1 )
公共类使用否{
公共静态void main(String[] args)引发异常{
//获取这个类的类对象
class use anno use anno class=use anno . class;
//获取指定的批注类子类对象
pro pro anno=useannoclass . get annotation(pro . class);
//执行批注中的方法,获取批注中属性的值。
string class name=pro anno . class name();
string method name=pro anno . method name();
}通过类中的getAnnotation()方法,得到Annotation类的实现类的对象。使用对象,可以在批注中执行方法,返回值是使用批注时设置的属性值。实际上,注释接口的子类实现对象是在内存中生成的。
公共类ProImpl实现Pro{
公共字符串类名(){
返回“cn . it cast . annotation . demo 1”;
}
公共字符串methodName(){
返回“show”;
}
}推荐教程:java开发入门以上是如何更好地利用java注释的细节。更多请关注我们的其他相关文章!
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。