注解声明
注解的意思是添加额外的元数据到代码中。注解的声明方式为在类的前面加上annotation修饰符:
annotation class Fancy
注解的额外属性可以使用元注解进行指定:
- @Target指定注解可以被使用的元素类型。比如(类、函数、属性、表达式等)
- @Retention指定注解是否存储在编译类文件中,并且是否在反射的时候可见(默认情况下,两者都是true)
- @Repeatable允许同一个注解在在一个元素上使用多次
- @MustBeDocumented指定注解就是公共API的一部分,并且必须被显示在API文档的类或方法签名中。
@Target(AnnotationTarget.CLASS, AnnotationTarget.FUNCTION,
AnnotationTarget.VALUE_PARAMETER, AnnotationTarget.EXPRESSION)
@Retention(AnnotationRetention.SOURCE)
@MustBeDocumented
annotation class Fancy