【九月打卡】第4天 一课掌握Kotlin 突破开发语言瓶颈
2022/9/11 3:23:12
本文主要是介绍【九月打卡】第4天 一课掌握Kotlin 突破开发语言瓶颈,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
课程信息
课程名称: 一课掌握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.*下的注解是必须了解的内容。
这篇关于【九月打卡】第4天 一课掌握Kotlin 突破开发语言瓶颈的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-01-06Kotlin委托属性(1)
- 2023-06-15Kotlin协程-那些理不清乱不明的关系
- 2023-06-08[Kotlin Tutorials 21] 协程的取消
- 2023-05-26Kotlin难点
- 2023-02-23【备战春招】第16天 Kotlin实用技巧
- 2023-02-23【备战春招】第15天 Kotlin扩展Extensions技术探秘
- 2023-02-22【备战春招】第14天 深入理解Kotlin注解
- 2023-02-21【备战春招】第12天 深入理解Kotlin类与接口
- 2023-02-21【备战春招】第13天 深入理解Kotlin泛型
- 2023-02-18【备战春招】第10天 Kotlin方法与Lambda表达式