1.应用领域对比
| JAVA | Kotlin | dark | |
|---|---|---|---|
| 语言类型 | 编程语言 | 编程语言 | 编程语言 |
| 前端应用方式 | Android原生开发 鸿蒙原生开发 | Android原生开发 | Fullter |
| 主流前端应用 | Android/鸿蒙 | Android | Android/ios/web |
| 非主流前端应用 | pc | ios/pc/web | pc/小程序/鸿蒙 |
| 其他领域应用 | 服务端(TOP1) 嵌入式 | 服务端(新星) | 嵌入式 |
| 背景 | sun是亲爸爸 Oracle是后爸 | JetBrains是亲爸爸 谷歌是金主爸爸 | 谷歌是他爸 得看苹果脸色,毕竟是谷歌的 |
| 大厂软件 | 大部分 | 大部分 | 咸鱼,美团B端 |
2.简单实用操作
| JAVA | Kotlin | dark | |
|---|---|---|---|
| 包的定义 | package | package | |
| 包的导入 | import | import | import |
| 主函数 | public static void main(String[] args) | main() | fun main() |
| 定义变量 | 变量类型+变量名 | var+变量名 变量类型+变量名 | var+变量名 变量类型+变量名 |
| 定义常量 | fianl | val | Final Const编译时已固定 |
| 静态 | static | companion object object单例 | static |
| 函数定义 | private void sum(int a,int b){} | fun sum(a: Int, b: Int): Unit{} | void sum(int a,int b){} |
| 运算符 | 不作介绍 | 和java一样 | 基本和java一样 |
| 控制流程 | 不作介绍 | 和java一样 | 基本和java一样 |
| 异常 | try{}catch(){}finally{} | try{}catch(){}finally{} | try{}on Exption{}finally{} |
| 构造函数 | 类名 | constructor init | 类名 |
| 抽象 | abstract | open | abstract |
| 继承 | extends | 把继承类的类名放在:后面 | extends |
| 接口 | interface | interface | interface |
| 实现 | implements | :后面 | implements |
3.基本知识
| JAVA | Kotlin | dark | |
|---|---|---|---|
| 默认值 | 基本数据类型为0 对象数据类型为null | 非空安全,一定要初始化 | null |
| 内置类型 | int short boolean long float double byte char | Byte Short Int Long | Number String Boolean List Map Set Rune symbol |
| 匿名函数 | JAVA8之后支持lambda | 支持lambda | 支持lambda |
| 可选函数 | JAVA8之后支持lambda | 支持lambda | 支持lambda |