课程表

Groovy课程

工具箱
速查手册

Groovy 注释

当前位置:免费教程 » Java相关 » Groovy

注释是元数据的形式,其中它们提供关于不是程序本身的一部分的程序的数据。注释对它们注释的代码的操作没有直接影响。

注释主要用于以下原因 -

  • 编译器信息 -编译器可以使用注释来检测错误或抑制警告。

  • 编译时和部署时处理 -软件工具可以处理注释信息以生成代码,XML文件等。

  • 运行时处理 -一些注释可以在运行时检查。

在Groovy中,基本注释如下所示:

@interface - at符号字符(@)向编译器指示以下是注释。

注释可以以没有主体的方法的形式和可选的默认值来定义成员。

注释可以应用于以下类型 -

字符串类型

下面给出了字符串注释的一个例子 -

  1. @interface Simple {
  2. String str1() default "HelloWorld";
  3. }

枚举类型

  1. enum DayOfWeek { mon, tue, wed, thu, fri, sat, sun }
  2. @interface Scheduled {
  3. DayOfWeek dayOfWeek()
  4. }

类类型

  1. @interface Simple {}
  2. @Simple
  3. class User {
  4. String username
  5. int age
  6. }
  7. def user = new User(username: "Joe",age:1);
  8. println(user.age);
  9. println(user.username);

注释成员值

使用注释时,需要至少设置所有没有默认值的成员。下面给出一个例子。当定义后使用注释示例时,需要为其分配一个值。

  1. @interface Example {
  2. int status()
  3. }
  4.  
  5. @Example(status = 1)

关闭注释参数

Groovy中注释的一个很好的特性是,你也可以使用闭包作为注释值。因此,注释可以与各种各样的表达式一起使用。

下面给出一个例子。注释Onlyif是基于类值创建的。然后注释应用于两个方法,它们基于数字变量的值向结果变量发布不同的消息。

  1. @interface OnlyIf {
  2. Class value()
  3. }
  4.  
  5. @OnlyIf({ number<=6 })
  6. void Version6() {
  7. result << 'Number greater than 6'
  8. }
  9.  
  10. @OnlyIf({ number>=6 })
  11. void Version7() {
  12. result << 'Number greater than 6'
  13. }

元注释

这是groovy中注释的一个非常有用的功能。有时可能有一个方法的多个注释,如下所示。有时这可能变得麻烦有多个注释。

  1. @Procedure
  2. @Master class
  3. MyMasterProcedure {}

在这种情况下,您可以定义一个元注释,它将多个注释集中在一起,并将元注释应用于该方法。所以对于上面的例子,你可以使用AnnotationCollector来定义注释的集合。

  1. import groovy.transform.AnnotationCollector
  2. @Procedure
  3. @Master
  4. @AnnotationCollector

一旦完成,您可以应用以下元注释器到该方法 -

  1. import groovy.transform.AnnotationCollector
  2. @Procedure
  3. @Master
  4. @AnnotationCollector
  5. @MasterProcedure
  6. class MyMasterProcedure {}
转载本站内容时,请务必注明来自W3xue,违者必究。
 友情链接:直通硅谷  点职佳  北美留学生论坛

本站QQ群:前端 618073944 | Java 606181507 | Python 626812652 | C/C++ 612253063 | 微信 634508462 | 苹果 692586424 | C#/.net 182808419 | PHP 305140648 | 运维 608723728

W3xue 的所有内容仅供测试,对任何法律问题及风险不承担任何责任。通过使用本站内容随之而来的风险与本站无关。
关于我们  |  意见建议  |  捐助我们  |  报错有奖  |  广告合作、友情链接(目前9元/月)请联系QQ:27243702 沸活量
皖ICP备17017327号-2 皖公网安备34020702000426号