1: kotlin 特性
Kotlin首要目标是提供一种更简洁,更高效,更安全的替代Java的语言,并且适用于现今使用Java的所有环境,
使用Kotlin可以帮助开发者在实现目标的同时减少代码并避免麻烦.
常用场景: 编写服务器端代码(Web应用后端) 创建Android 设备上运行的移动应用. 任何Java 运行的地方
Kotlin 和 Java 一样是 一种 静态类型 的编程语言. 意味着 所有表达式的类型在编译期已经确定了,编译器就能够验证对象是否包含了你想要访问的方法或者字段
关于静态类型解释:
- 强类型:偏向于不容忍隐式类型转换。譬如说haskell的int就不能变成double
- 弱类型:偏向于容忍隐式类型转换。譬如说C语言的int可以变成double
- 静态类型:编译的时候就知道每一个变量的类型,因为类型错误而不能做的事情是语法错误。
- 动态类型:在JVM上的代表有: Groovy 和JRuby . 编译的时候不知道每一个变量的类型,因为类型错误而不能做的事情是运行时错误。譬如说你不能对一个数字a写a[10]当数组用。
静态类型的好处:
- 性能 ---方法调用速度快,不需要在运行时才来判断调用的是哪个方法
- 可靠性 ---编译器验证了程序的正确性,所以运行时崩溃的概率更低
- 可维护性 ---陌生代码更容易维护,因为你可以看到代码中用到的对象的类型
- 工具支持 ---静态类型使IDE能提供可靠的重构,精确的代码不全以及其他特性
Kotlin 比Java多了 类型推导. 不需要在代码中显式地声明每个变量的类型 例如 val x = 1 由于变量初始化为整形值,所以Kotlin自动判断它的类型为Int
Kotlin 的类型系统通过精确地跟踪null值,可以大大减轻了空指针异常问题带来的压力.大部分Java中会导致空指针异常的代码在Kotlin 中无法编译成功,确保提前修正.
Kotlin 完全兼容 Java 6 性能 Kotlin 编译器生成的代码执行起来和普通的Java代码效率一样,Kotlin 使用的运行时(库)体积也相当小,编译出来的程序包体积也不会增加多少.
小结:
- Kotlin是静态类型语言并支持类型推导,允许维护正确性与性能的同时保持源代码的简洁.
- Kotlin支持面向对象和函数式编程风格,通过头函数使更高级别的抽象成为可能,通过支持不可变值简化了测试和多线程开发.
- 在服务端应用程序中它工作得很好,全面支持所有现存的Java框架,为常见的任务提供了新工具,如生成HTML 和持久化.
- 在Android上它也可以工作,这得益于紧凑的运行时,对Android API 特殊的编译器支持以及丰富的库,为常见Android开发任务提供了Kotlin 友好的函数.
- 它是免费和开源的,全面支持主流的IDE 和构建系统.
- Kotlin 是务实的,安全的,简洁的,与Java可互操作,意味着它专注于使用已经证明过的解决方案处理常见任务,防止常见的像,nullpointerException这样的错误,支持紧凑和易读的代码,以及提供与Java无限制的集成.