第一次写Kotlin整理

延迟初始化

  • lateinit :用于var变量,避免变量没有初始化导致编译报错,应该在合适的时候对其初始化
  • by lazy:用于val变量,也就是final变量,初始化之后不可修改,会在第一次被引用的时候进行初始化 { }

单例

Kotlin&Java单例

静态变量、静态函数

  • 整个类就是静态类:
object A  {
  ...
}
  • 普通类中的静态模块:
class A {
    companion object { ... }
}

实例化接口、抽象类

  • 正常实现或继承之后引用
class A : P {
    ...
}

然后直接使用A()(不需要new关键字)

  • 匿名内部类
test.setCallback(object : P {
      ...
})

第一次写的时候一直报错,这个object 是关键字,不是命名,不能修改。。。

  • 实现接口的时候是不需要(),继承抽象类有()
interface A
abstract class B
class C : A { ... }
class C : B() { ... }

还是第一次尝试写kotlin项目,也不知道有些点理解的对不对

Meizikt

  • Gank.io Android客户端 使用Kotlin + Retrofit2 + Rx

你可能感兴趣的:(第一次写Kotlin整理)