Java 调用 Kotlin(一)

本文介绍了在Java中如何调用Kotlin的代码,特别是处理Kotlin的protected属性以及扩展函数和顶层函数。通过示例展示了Java如何访问Kotlin的protected属性,以及Kotlin扩展函数在Java中的使用方式。最后强调了lambda表达式的性能考虑,推荐使用inline进行优化。

     最近的项目大多数是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很炫酷呢?那就赶快和我一起入手学习吧,大家伙一起成长起来,然后一起互相取经

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值