Kotlin 为什么可以和Java混合开发
学!
本文:https://www.jianshu.com/p/e3afe651052b
文章目录
- 前言
- Kotlin
- 互操作性
- 总结
- 参考文献
前言
闲来无聊,和一个朋友聊天。
他突然问我:你知道Kotlin和Java为啥可以混合开发相互调用么?
我:???!!!
我:我还真没怎么想过,为啥呀?
他:你猜~
我:呵呵哒。
他:[摊手] 我要是知道就不问你了。。。
我:哈哈,得了,一块探索吧。
Kotlin
Kotlin 到底是什么?
它本身就是一种针对Java平台的新编程语言。
Kotlin简洁、安全、务实,并且专注于与Java代码的互操作性。
它几乎可以用在现在Java使用的任何地方:服务器端开发、Android应用,等等。
Kotlin可以很好的和所有现存的Java库和框架一起工作,而且性能水平和Java旗鼓相当。
— 引自《Kotlin in Action》
我们知道Kotlin和Java同属静态类型的编程语言,而且同样都是基于JVM的静态编程语言,所以很多东西都是在编译期确定的。他们最终都会被对应编译器编译成JVM执行的字节码文件。
从最终产物的角度讲,他们其实是一样的,更别提Kotlin本身就是针对Java平台的一种新编程语言。而互操作性,就得看编译器都做了哪些更多的工作了。
互操作性
关于互操作性
与其它一些JVM语言不同,Kotlin在互操作性上更上一层楼,让Java代码也可以毫不费力的调用Kotlin的代码。Kotlin的类和方法可以像常规的Java类和方法一样被调用。
另一个Kotlin专注于互操作性的领域是在最大程度上使用现有的Java库。例如,Kotlin没有自己的集合库,它完全依赖Java标准库中的类,使用额外的函数来扩展它们,让他们在Kotlin中用起来更方便,这意味着在Kotlin中调用Java API时,永远不需要包装或者转换这些Java对象,反之亦然。
Kotlin工具也对跨语言项目提供了全面支持。它可以编译任意混合的Java和Kotlin源码,不管它们之间时怎样相互依赖的。
Kotlin编译器会分析源代码并生成.class
文件,这和Java编译器做的没什么不同。
总结
因为资料确实不算多,稍后有对应资料后会再补充下。
如果您有更好的理解,也期待您的指导和评论。
- 二者均为JVM的静态编程语言,最终产物都是JVM执行的字节码文件
- Kotlin本身就是针对于Java平台的新编程语言,虽然也支持了多平台的使用,如iOS等,但是与Java的互操作性更好
- Kotlin最大程度的使用Java现有的库,只是用额外的函数去扩展他们,这样在交互中就不需要额外的包装和转换,互操作性更好。
- 编译器也支持混合开发的二者编译问题。
参考文献
Kotlinlang.org
《Kotlin in Action》
Kotlin 为什么可以和Java混合开发相关推荐
- 入门 Kotlin 和 Java 混合开发
一.前沿 如果你学习过其他的编程语言,你就会发现 Java 的语法很是哆嗦,可是我们为什么没有放弃 Java 这门编程语言呢?因为 JVM 是一个非常好的平台,而且 Java 程序员目前在中国所占的比 ...
- Kotlin和Java混合开发总结(基于Kotlin1.3.0版本)
我本来是不想学习kotlin的,但是现在的形势,很多公司都在使用kotlin开发,可以说学会kotlin也是无奈之举,既然是潮流,谷歌也在大力推广,所以还是只能硬着头皮逼迫自己学一下,也能更快适应公司 ...
- Kotlin和java混合开发
Kotlin和java混合开发 kotlin继承Java的方法 调用java的方法,参数最好用可空类型,除非明确java的参数是非空 而java代码如果需要可空 可以通过@Nullable 需要不可空 ...
- kotlin与java混合开发_使用kotlin和Java混合开发Android项目爬坑记录
使用kotlin和Java混合开发Android项目爬坑记录 不定期将开发过程中遇到的问题添加在此处,加深记忆. 主要内容包括但不限于java与kotlin语言的一些区别,以及在使用android-s ...
- java scala 混合打包_scala和java混合开发打包
如何进行scala和java混合开发打包? 首先创建maven工程,在pom.xml添加一下依赖 1.8 UTF-8 3.8.1 1.6.4 3.1 2.11.8 2.3.2 org.scala-la ...
- Android开发之Java和Kotlin混合开发互相跳转报错的问题
老套路报错如下: 关于这个错误我检查了不知道多少遍了,包路径啥的XML配置也都是没问题.我思来想去最后发现是Kotlin环境的问题: 我的项目是个Java版本的项目,然后再Java项目里面新建的Kot ...
- 《Kotlin从小白到大牛》第21章:Kotlin与Java混合编程
第21章 Kotlin与Java混合编程 Kotlin毕竟还是一种新的语言,所以很多项目.组件和框架还是用Java开发的,目前Kotlin不能完全取代Java,因此有时会使用Kotlin调用Java写 ...
- 为什么 Java 后端开发没有大规模采用 Kotlin?
点击关注公众号,Java干货及时送达 转自:InfoQ 作者:Ivan Sanchez, 译者:王者 链接:www.infoq.cn/article/dSSYAFSMMxx1sZkJwrN2 在使用 ...
- 《Springboot极简教程》Springboot使用Kotlin和Java混合编程
配置 要想实现Springboot使用Kotlin和Java混合编程,需要使用kotlin插件: spring-boot-gradle-plugin kotlin-gradle-plugin 具体配置 ...
最新文章
- 一键安装lamp系统
- 想让论文能发表,应该星期几投稿?丨SCI研究
- SAP批次管理由物料级别转换到工厂级别的方法
- ubuntu19.10锁屏时间调节
- 会议交流 | CAAI BDSC2021大会专题七:社会计算与开放知识图谱
- word 代码块_如何优雅的写好 Pythonic 代码?
- ASP.NET Core 2.1:将VMD.RESTApiResponseWrapper.Core集成到REST API应用程序
- 第 10 章 桥接模式
- 计信院计算机英语期末考试,计算机英语考试题two
- python如何跳出函数_python如何跳出函数
- JAVA刷视频代码,Java+adb命令实现自动刷视频脚本
- mac上php的集成环境
- [HNOI2019]鱼
- 总是过目即忘,试试建立知识库吧
- Kinect v2.0原理介绍之十三:面部帧获取
- 基于asp.net742自驾游旅游服务网站的设计
- 项目管理必备工具——甘特图
- 博客园自定义(全部样式分享)
- cup过高是什么意思_cpu占用率过高是什么原因
- CSS滤镜和精灵技术