Kotin笔记 十一 注解

本文详细介绍了Kotlin中的注解,包括如何定义注解、注解的属性、注解的分类及元注解,如@Retention、@Target。此外,还探讨了如何使用注解,特别是通过反射获取注解信息。同时,文章讨论了Kotlin与Java注解的兼容性问题,以及在Kotlin中如何使用Java注解的特殊情况,如属性名为"value"的数组类型和非"value"的数组类型。
摘要由CSDN通过智能技术生成

注解

定义注解

kotlin中定义注解使用关键字:annotation class

kotlin中不允许为注解定义注解体,即注解后没有“{}”

如:

	annotation class KotlinTag

注解可以使用的程序单元:

  1. 类或者接口
  2. 方法或者函数
  3. 属性
  4. 构造函数(主构造函数使用注解时必须不能省略Constructor)

注解属性

注解中可以带属性,但由于注解没有注解体,属性只能在注解声明部分指定,可以看做在注解的主函数中指定注解属性

***注解属性只能是val(只读属性)***,只能在使用注解时指定,一旦指定后就不能改变其值;

如:

annotation class MyTag(val name:String){

	}

处这种形式为,kotlin允许为属性指定初始值,在使用时如果不指顶属性值,就是用默认属性值,如果在使用时指定了属性值,默认值不会其作用;

	annotation class MyTag(val name:String="leslie"){

	}

Kotlin中注解属性类型:

  1. 不能为可空类型比如:Int?(因为JVM不允许使用null作为属性值)

  2. 对应java的基本数据类型

  3. String

  4. Class对象(包括kotlin的KClass和Java的Class)

  5. 上述类型数组(基本数据类型的数组需要指定为XXXArray如:IntArray而不是Array<Int>)

  6. 其他注解(将其他注解作为该注解的属性时,不需要以@为前缀)

  7. 如果属性名为“value”,在为value属性指定属性值时可以省略属性名

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值