(Kotlin)《Kotlin实战》笔记

第三章 函数相关

  • 集合:Kotlin复用了Java的容器类,可用hashListOf、arrayListOf语法糖进行快速赋值,分别对应HashList和ArrayList数据结构

  • 函数参数

    • 命名参数:可以在使用函数传参时标明一些参数的名称
    • 默认参数值:通过给参数赋值优化Java重载 使用@JvmOverLoads使得在JAVA中像重载一样使用
  • 顶层函数和属性:

    • 顶层函数:会被编译成类的静态函数,该类的类名为包含该函数的文件名,可用@JwmName("…")指定类名
    • 顶层属性:var变量、val常量、const常量
      • Kotlin:var直接使用,val和const需用 包名.
      • Java:var有getter和setter,val只有getter,const 包名.
  • 拓展函数和属性

    • 拓展函数
      • 相当于定义在类外面的成员函数,需要加上接受者类型,即类名,位置在函数名的前面
      • 不允许打破被拓展类的封装,不能访问private和protected方法和属性
      • 多态时调用哪个拓展函数由静态类型决定
    • 拓展属性:与拓展函数用法类似,但是需要增加对应的getter和setter
  • 可变参数:使用vararg关键字代替var/val,对应java中的XXX…

  • 中缀调用

    • 没有额外的分隔符,直接将函数名称放在目标对象名称和参数之间
    • infix关键字定义:public infix fun <A, B> A.to(that: B): Pair<A, B> = Pair(this, that)
  • 解构声明

    • 把一个对象解构成多个变量,并可以独立使用他们
    • 原理
      • 内部转化为 val name = className.component1( ) -> 在类中定义 operator fun component1( ) = name
      • 数据类中自动定义
  • 字符串操作

    • 正则表达式: (String).toRegex()
    • 多行字符串:使用三个"""包起来
  • 局部函数:解决代码重复问题

第四章 面向对象

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

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

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

    请填写红包祝福语或标题

    红包个数最小为10个

    红包金额最低5元

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

    抵扣说明:

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

    余额充值