Kotlin语法更加自由,Java更模版化

  • 空安全:

    • Type?可空类型
    • latainit延迟初始化
  • 延迟初始化

  • 函数式编程:函数即对象,可以将函数作为方法的参数或返回值传递,结合lambda函数表达式,避免写接口
  • 扩展函数:编译的时候会将函数转换为静态方法,并且第一个参数传入扩展对象本身,因此可以访问扩展对象,开发的时候阅读起来相当于扩展函数
  • inline:编译的时候将方法体直接放到调用处,减少方法调用,压栈出栈的操作,提高可读性
  • 自动生成getter、setter
  • 协程
  • 不需要new,不需要分号
  • 兼容Java
  • if条件语句赋值
  • kotlin不强制检查异常,Java需要捕获I/O异常等

var是变量、val是不可变量、const是常量

internal包内权限,类似java的default

kotlin的静态方法是通过创建一个内部伴生类Companion来调用的,使用反射调用静态方法会出问题。

results matching ""

    No results matching ""