Kotlin总结2

来源:互联网 发布:淘宝男士休闲鞋 编辑:程序博客网 时间:2024/06/07 07:11

已有项目添加maven支持

这个其实怪我眼瞎,没看到

右击module -> Add Framwork Support… ->选中maven确定即可

java静态方法和kotlin伴生对象

java直接转过来的静态方法报错,发现他多了一个override,但是贸然删了又觉得不妥,就查查静态方法的资料

  • kotlin的伴生对象,可以理解为静态方法。
  • 但又不完全是,因为伴生对象毕竟也还是对
  • 转成java方法之后,一般对象被理解为class,需要用名称调用方法名,而伴生对象恰如静态方法一样,可以直接调用

java

    public static DataResult initResult(){        return new DataResult(0,"success!");    }

kotlin

    //自动转会转成这个样子    companion object {        override fun initResult(): DataResult {            return DataResult(0, "success!")        }    }    //真的只要删掉override就行了        companion object {         fun initResult(): DataResult {            return DataResult(0, "success!")        }    }

java中的静态方法,在kotlin中其实就是伴生对象

lazy和lateinit的区别

lateinit var testLateinit:Stringval testLazy: String by lazy { "test" }
  • lazy

    • 只能在val变量使用
  • lateinit

    • 只能在var类型使用
    • 只能用在不为空属性上
    • 不能用在基础数据类型上
  • 其他参见var与val的区别