Android 学习笔记(7)之kotlin_2

objiect  创建一个类的实例(类对象)
companion object  伴生对象(static静态类)
internal 修饰类方法,表示这个方法只适合当前module使用

lateinit 延迟加载  不能用来修饰基本数据类型,不能修饰val 
constructor 构造函数,一个主,多个次,次级构造函数需要调用主构造

内联扩展函数之also  inline T.also  返回传入对象的本身(类似let)
内联扩展函数之apply
内联扩展函数之run  省略it 可以直接调用  返回最后一行或者表达式闭包
内联扩展函数之let  返回最后一行    使用it代替调用其公有方法
内联函数之with

is   as     is代替instandeof
可以直接使用控件id进行操作控件。fragment中需要在onViewCreated后使用

in 在for循环使用,可检测值是否在区间集合内,可用作when表达式中,可用作逆变。类似java 的  ? super
out——用于修饰泛型参数,表明该泛型参数支持协变。类似java 的 ?extend
field——用于指定该注解修饰属性的幕后字段
where——用于为泛型参数增加限制。 比如 where T:Serializable 不行实现序列化
vararg——用于修饰形参,表明该参数是个数可变的形参。
tailrec——用于修饰一个函数可作为尾随递归函数使用。优化递归函数,(采用循环)不会内存溢出
suspend——用于标识一个函数后Lambda表达式可作为暂停。(挂起)挂起函数只能用到协程和挂起函数中  
sealed——用于声明一个密封类。父类和子类定义在同一个文件中  不能被初始化
reified——用于修饰内联函数中的泛型形参,接下来在该函数中就可像使用普通类型样使用该类型参数。
open——用于修饰类,表示该类可派生子类;或者用于修饰成员, 表示该成员可以被重写。
noinline——用于禁止内联函数中个别Lambda表达式被内联化。
lateinit——用于修饰一个non-null属性,用于指定该属性可在构造器以外的地方完成初始化
lateinit 对应使用var来声明属性 不可以修饰基础类型
internal——用于表示被修饰的声明只能在当前模块内可见。


协程 使用方式
coroutine   
runBlocking
第二种启动方式(launch:Job)
第三种启动方式(async/await:Deferred)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值