为了账号安全,请及时绑定邮箱和手机立即绑定

【九月打卡】第4天 一课掌握Kotlin 突破开发语言瓶颈

标签:
Kotlin

课程信息

课程名称: 一课掌握Kotlin 突破开发语言瓶颈
课程章节: Kotlin注解(10-110-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 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消