android groovy 注解,Groovy - 注释(Annotations)

Groovy - 注释(Annotations)

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

注释主要用于以下原因 -Information for the compiler - Information for the compiler可以使用注释来检测错误或抑制警告。

Compile-time and deployment-time processing - 软件工具可以处理注释信息以生成代码,XML文件等。

Runtime processing - 可以在运行时检查某些注释。

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

@interface - 符号字符(@)向编译器指示后面的内容是注释。

注释可以the form没有实体和可选默认值的方法the form定义成员。

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

字符串类型

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

String str1() default "HelloWorld";

}

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

@interface Scheduled {

DayOfWeek dayOfWeek()

}

class类型@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 {}

Groovy - 闭包(Closures)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值