Kotlin 关键字、修饰符、操作符

2021-11-18  本文已影响0人  ZoranLee

Kotlin中的修饰符关键字分类

image.png

类修饰符

成员修饰

image.png

访问权限修饰

image.png

协变逆变修饰符

image.png

属性修饰符

常量

参数修饰符

image.png

inline 声明在编译时,将函数的代码拷贝到调用的地方(内联)
vararg 变长参数修饰符
noinline 不内联参数修饰符, 声明 inline 函数的形参中,不希望内联的 lambda
crossinline 表明 inline 函数的形参中的 lambda 不能有 return

具体化类型修饰符

image.png
  1. 不再需要传参数 clazz
// Function
private fun <T : Activity> Activity.startActivity(context: Context, clazz: Class<T>) {
    startActivity(Intent(context, clazz))
}

// Caller
startActivity(context, NewActivity::class.java)

使用reified 后

// Function
inline fun <reified T : Activity> Activity.startActivity(context: Context) {
    startActivity(Intent(context, T::class.java))
}

// Caller
startActivity<NewActivity>(context)

https://juejin.cn/post/6844903833596854279
https://droidyue.com/blog/2019/07/28/kotlin-reified-generics/

流程控制

分支语句(if、when)

循环语句(for、while)

跳转语句(return、break、continue、throw)

操作符与重载

image.png

一元操作符

image.png

operator 修饰重载操作符


image.png image.png

二元操作符

image.png

===和!==不可重载

“?:”是一个二元运算符,如果第一个操作数为真,则返回第一个操作数,否则将计算并返回其第二个操作数
Kotlin中没有这样的三元运算符true?1:0,取而代之的是if(true) 1 else 0

image.png

包声明

image.png
上一篇下一篇

猜你喜欢

热点阅读