- Any—Java中的Object
- open,默认的类和方法都是final的,想要继承需要open
- 创建对象classname(),不用new关键字
- override不可省略
- data class 类似于c中的结构体
- as as? 安全的类型转换,转换失败时不抛异常
- 空类型安全 ?: !!
- package 包,类似于C++中的namespace
- lateinit 延迟初始化属性
- by lazy
- 运算符重载 infix 中缀表达式
- 接口中包含抽象方法和方法实现,冲突super<Parent>.fun
- 接口代理 by
- 伴生对象 companion object @JvmStatic 静态方法/类方法
- 可见性:internal 模块内可见
- 数据类,再见javabean,final class , 没有默认的无参构造方法,allopen和noarg插件,编译器会自动生成常用方法toString(), hashcode()…
- sealed class 密封类,子类有限的类,子类只能定义在同一个文件内
- 枚举,实例可数
- 继承冲突 super<A>.x()
- T::class.java
类成员
属性代理 by lazy{}
- LazyThreadSafetyMode.SYNCHRONIZED
- LazyThreadSafetyMode.NONE