1、静态类型的编程语言
-
Kotlin和Java都是静态类型的编程语言,所有的表达式类型在编译期就确定了
-
编译器能够根据上下文推断变量类型(类型推导)
-
Kotlin对可空类型的支持(使用?声明)
- eg:
val s: String? = null
- eg:
-
Kotlin有助于避免
ClassCastException
- 在kotlin中,一旦在开始检查过类型后就无需额外的引用就能使用属于该类型的成员
if (value is Stirng) println(value.toUpperCase())
2、支持函数式编程及面向对象
-
函数式编程
-
特征:
- (1)头等函数:把函数(一小段行为) 当作值使用。可以用变量保存、作为参数传递或作为函数返回值
- (2)不可变性:使用不可变对象,这保证了它们的状态在其创建之后不能再变化
- (3)无副作用:使用的是纯函数。在输入相同时会产生同样的结果并且不会修改其他对象的状态,也不会和外界有交互(单一职责)
-
好处:
- (1)简洁:可以将函数当作值,更好的抽象
- (2)多线程安全:因为不可变数据结构和纯函数
- (3)测试更加容易:与外界没有交互,可独立测试
-
-
支持lambda表达式及面向对象
3、对Android的适配
-
Anko
库(https://github.com/kotlin/anko) 给许多标准的API添加了Kotlin友好的适配器 -
kotlin的源代码放在后缀名为.kt的文件中
- 使用
kotlinc
命令进行编译为class文件
- 使用
-
与Java可互操作,kotlin最大程度的依赖Java库
- kotlin没有自己的集合库,使用的Java的相关库