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

注释主要用于以下原因 -

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

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

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

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

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

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

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

单行注释

单行注释以//开头,并且能在行的任何位置。从//开始,到一行结束,都被认为是注释的部分。// a standalone single line comment

println "hello" // a comment till the end of the line

多行注释

多行注释以/*开头,并且能在行的任何位置 。以/*开头,包括新的行,直到第一个*/结束都被认为是注释的部分。多行注释可以放于声明的开始或者声明的中间。/* a standalone multiline comment

spanning two lines */

println "hello" /* a multiline comment starting

at the end of a statement */

println 1 /* one */ + 2 /* two */

字符串类型

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

String str1() default "HelloWorld";

}

枚举类型enum DayOfWeek { mon, tue, wed, thu, fri, sat, sun }

@interface Scheduled {

DayOfWeek dayOfWeek()

}

类类型@interface Simple {}

@Simple

class User {

String username

int age

}

def user = new User(username: "Joe",age:1);

println(user.age);

println(user.username);

注释成员值

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

int status()

}

@Example(status = 1)

关闭注释参数

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

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

Class value()

}

@OnlyIf({ number<=6 })

void Version6() {

result << 'Number greater than 6'

}

@OnlyIf({ number>=6 })

void Version7() {

result << 'Number greater than 6'

}

元注释

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

@Master class

MyMasterProcedure {}

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

@Procedure

@Master

@AnnotationCollector

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

@Procedure

@Master

@AnnotationCollector

@MasterProcedure

class MyMasterProcedure {}

android groovy 注解,Groovy 注释相关推荐

  1. 【Groovy】Groovy 动态语言特性 ( Groovy 语言与 Java 语言执行效率对比 | 以动态特性编译的 Groovy 类 | 以静态特性编译的 Groovy 类 )

    文章目录 一.以动态特性编译的 Groovy 类 二.Groovy 语言与 Java 语言执行效率对比 三.以静态特性编译的 Groovy 类 一.以动态特性编译的 Groovy 类 Groovy 类 ...

  2. 【Groovy】Groovy 动态语言特性 ( Groovy 中函数实参自动类型推断 | 函数动态参数注意事项 )

    文章目录 前言 一.Groovy 中函数实参自动类型推断 二.函数动态参数注意事项 三.完整代码示例 前言 Groovy 是动态语言 , Java 是静态语言 ; 本篇博客讨论 Groovy 中 , ...

  3. Android Annotation注解详解

    转载请标明出处:http://blog.csdn.net/zhaoyanjun6/article/details/119874435 本文出自[赵彦军的博客] 文章目录 Java注解 元注解说明 @R ...

  4. android 使用注解

    使用注解改进代码检查 本文内容 向您的项目添加注解 添加支持注解库依赖项 运行代码检查 Nullness 注解 Nullability 分析 资源注解 线程注解 值约束注解 权限注解 间接权限 返回值 ...

  5. 【Groovy】Groovy 脚本调用 ( Java 类中调用 Groovy 脚本 )

    文章目录 前言 一.Groovy 类中调用 Groovy 脚本 1.参考 Script#evaluate 方法分析 Groovy 类中调用 Groovy 脚本 2.创建 Binding 对象并设置 a ...

  6. 【错误记录】Groovy工程中的文件查找策略 ( main 函数中需要使用 src/main/groovy/Script.groovy | Groovy 脚本直接使用代码相对路径 )

    文章目录 一.报错信息 二.解决方案 一.报错信息 在 Java 类中 , 调用 Groovy 脚本 , 出现如下错误 ; java.io.FileNotFoundException: Y:\002_ ...

  7. 【Groovy】Groovy 脚本调用 ( Groovy 脚本中调用另外一个 Groovy 脚本 | 调用 evaluate 方法执行 Groovy 脚本 | 参数传递 )

    文章目录 一.Groovy 脚本中调用另外一个 Groovy 脚本 1.调用 evaluate 方法执行 Groovy 脚本 2.参数传递 二.完整代码示例 1.调用者 Groovy 脚本 2.被调用 ...

  8. 【Groovy】Groovy 脚本调用 ( Groovy 脚本编译 | Groovy 脚本字节码文件分析 )

    文章目录 一.Groovy 脚本编译 二.Groovy 脚本字节码文件分析 一.Groovy 脚本编译 Groovy 脚本编译后的字节码文件是一个继承 Script 的类 ; 编译下面的 Script ...

  9. 【Groovy】Groovy 脚本调用 ( Linux 中调用 Groovy 脚本 | Windows 中调用 Groovy 脚本 )

    文章目录 前言 一.Linux 中调用 Groovy 脚本 二.Windows 中调用 Groovy 脚本 前言 在 命令行 , Groovy 脚本 , Groovy 类 , Java 类中 , 可以 ...

最新文章

  1. VS2013+OpenCV3.1.0配置教程
  2. 组合数函数-快速提取所有可能的组合数
  3. Linux 操作系统原理 — 内存 — 物理存储器与虚拟存储器
  4. ROS系统 C++或Python实现订阅者Subscriber
  5. 利用xgb筛选模型变量
  6. UVA 11995 I Can Guess the Data Structure! STL
  7. HDU 1789 Doing Homework again (贪心)
  8. CentOS7.3的基本配置(建议学习用)
  9. 高性能MySQL之Count统计查询
  10. Django--QuerySet--基础查询
  11. 两用物项许可证办理流程_[进出口管制类]两用物项和技术进口许可证之易制毒化学品(6)欣海丁丁检务工作室(272)...
  12. nvidia显示设置不可用_白送大福利?实战FreeSync显示器开启NVIDIA G-Sync Compatible
  13. python怎么导入包-python如何导入包
  14. java中explain什么意思_explain关键字使用解释
  15. python人文社科研究_人文社科论文写作数据分析利器|SPSS+Stata+Endnote+Python
  16. HTML 转义字符nbsp; ensp; emsp;thinsp;zwnj;zwj;空格标记
  17. 关于ext2.0基本引入说明引入过多开发环境效验太多老火
  18. 孩子学习计算机影响视力吗,影响孩子视力的3大原因,不是电脑!不是手机!...
  19. 图片如何批量重命名?一步一步教会你
  20. 浏览器中的主页图标不见了

热门文章

  1. 6月.CN域名注册量突破1200万个 增速环比加快
  2. hadoop的两大核心之一:HDFS总结
  3. 在三层交换机上配置DHCP
  4. 看完陈皓的116篇文章,我给自己定了个5年技术规划
  5. “伪高管”是如何搞垮一个公司的?
  6. 图算法在斗鱼反作弊中的实践
  7. 36岁前百度员工哀叹:结婚三年老婆要离婚,要求分走大半财产,并且带走孩子。阴差阳错之下,发现孩子不是自己亲生的!...
  8. 最近面试了一位4年的Java,什么都不知道!还自认为很牛逼...
  9. 阿里不让多表join?我偏要!
  10. Java 8中Stream API的这些奇技淫巧!你都Get到了吗?