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