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

     protected 区别:

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

          2)Kotlin 继承 Kotlin 时也一样

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

   kotlin:

 Java 调用 Kotlin(一)

 java:

Java 调用 Kotlin(一)

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

扩展函数和顶层函数

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

kotlin:

Java 调用 Kotlin(一)

 java:

Java 调用 Kotlin(一)

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

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

相关文章:

  • 2022-12-23
  • 2021-04-09
  • 2021-09-10
  • 2021-08-25
  • 2021-07-28
  • 2021-12-26
  • 2021-10-20
  • 2022-01-23
猜你喜欢
  • 2022-01-24
  • 2022-12-23
  • 2022-12-23
  • 2021-06-14
  • 2021-08-26
  • 2022-12-23
  • 2021-08-29
相关资源
相似解决方案