声明注解
1
2
3
4
5
|
@Target (AnnotationTarget.CLASS, AnnotationTarget.FUNCTION, AnnotationTarget.VALUE_PARAMETER, AnnotationTarget.EXPRESSION) @Retention (AnnotationRetention.SOURCE) @MustBeDocumented annotation class Fancy |
可以通过向注解类添加元注解(meta-annotation)的方法来指定其他属性:
@Target 指定这个注解可被用于哪些元素(类, 函数, 属性, 表达式, 等等.);
@Retention 指定这个注解的信息是否被保存到编译后的 class 文件中, 以及在运行时是否可以通过反
射访问到它;
@Repeatable 允许在单个元素上多次使用同一个注解;
@MustBeDocumented 表示这个注解是公开 API 的一部分, 在自动产生的 API 文档的类或者函数签名
中, 应该包含这个注解的信息。
使用
1
2
3
4
5
|
@Fancy class Foo { @Fancy fun baz( @Fancy foo: Int): Int { return ( @Fancy 1 ) } } |
感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!
原文链接:http://www.jianshu.com/p/3e1d4b32cd7f