课程信息
课程名称: 一课掌握Kotlin 突破开发语言瓶颈
课程章节: Kotlin注解(10-1,10-2)
课程讲师: bennyhuo
课程内容
注解的基本概念
- 注解是对程序的附加信息说明
- 注解可以对类、函数、函数参数、属性等做标注
- 注解的信息可用于源码级、编译器、运行时
注解的定义
// 通过annotation标记为注解类
annotation class Api
限定标注对象
通过内置的Target注解限定注解的作用对象
// 限定作用于类
@Target(AnnotationTarget.CLASS)
annotation class Api
指定作用时机
通过内置的Retention注解可以指定注解的作用时机
// 作用于运行时
@Retention(AnnotationRetention.RUNTIME)
@Target(AnnotationTarget.CLASS)
annotation class Api
作用时机有三种
- SOURCE 源码期
- BINARY 编译期
- RUNTIME 运行时
RUNTIME包含SOURCE和BINARY,BINARY包含SOURCE
注解的参数
@Retention(AnnotationRetention.RUNTIME)
@Target(AnnotationTarget.CLASS)
annotation class Api(val url: String)
注解参数支持以下类型及其数组
- 基本类型
- KClass
- 枚举
- 其他注解
注解 vs 注释
注解(Annotations)
特定语法现象,参与编译
注释(Comments)
只存在于源码中,提升可读性
内置注解
-
kotlin.annotation.* 用于标注注解的注解
-
kotlin.* 标准库的一些通用通途的注解
- Metadata – Kotlin反射的信息通过 该注解附带在元素上
- UnsafeVariance – 泛型用来破除型变限制
- Suppress – 用来去除编译器警告,警告类型作为参数传入
- 。。。
-
kotlin.jvm.* 用于与Java虚拟机交互的注解
- JvmField – 生成Java Field
- JvmName – 指定类、函数等生成的Jvm名字
- JvmOverloads – 函数默认生成函数重载
- JvmStatic – 生成静态成员
- Synchronized – 标记函数为同步函数
- Throws – 标记函数抛出的异常类型
- Volatile – 生成volatile的Field
学习总结
通过本章学习,掌握Kotlin注解的基础知识。
对于Java与Kotlin混合编程来说,kotlin.jvm.*下的注解是必须了解的内容。
点击查看更多内容
为 TA 点赞
评论
共同学习,写下你的评论
评论加载中...
作者其他优质文章
正在加载中
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦