java注解上加注解,java注解的作用

  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的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: