Java 调用 Kotlin(一)

     最近的项目大多数是kotlin代码,然而有的时候自己写了一些java代码,java调用kotlin当时就有点蒙蔽了,在一定得取经之后,写下当时的“心酸泪史”

     protected 区别:

          1)Kotlin 继承 Java 时,可以直接拿到 protected 属性

          2)Kotlin 继承 Kotlin 时也一样

          3)但是 Java 继承 Kotlin 时,需要用 getter 和 setter 操作 protected 属性

   kotlin:

 

 java:

如果在 Kotlin 父类中是用 lazy 声明的 protected 属性,在 Java 中获取还要加上getValue()(在 Kotlin 中对应 .value)

扩展函数和顶层函数

这两个都是 Kotlin 的特性,在 Kotlin 中调用就是如丝般顺滑,但是在 Java 中调用还是普通的静态方法,类名是所在文件名加Kt:

kotlin:


 java:


invoke 方法就是 lambda 的内容函数了,这也证明了 Kotlin 中 lambda 的实现方式还是定义了一个接口。使用 lambda 时需要考虑额外的性能开销,尽量使用 inline 优化性能。

总结:这次呢,由于时间紧迫,只总结了这两个点,下次持续更新,看了我的对比,是否觉得kotlin很炫酷呢?那就赶快和我一起入手学习吧,大家伙一起成长起来,然后一起互相取经

猜你喜欢

转载自blog.csdn.net/sophiebryant/article/details/80595218