面试官: Kotlin为什么会火起来,有什么特点,跟Java区别
心理分析:面试官所在的项目是用Kotlin 开发的,Kotlin是一门语法,也不会问的比较深,国内的开发者对Kotlin认识度不是很高,所以面试官不会强求问这些问题,只是做最基本的了解
求职者:对于Kotlin的优缺点,和java的不同一定要熟记于心
一丶 为什么很多开发者从Java转到kotlin?谈谈它的优势
-
kotlin比Java要简单
。它去除了很多Java里面的冗余代码。kotlin提供了 很多Java不具有的特性
。
- kotlin比较容易学,因为它跟Java很接近。
- kotlin是功能性编程语言,是基于jvm上的。
- kotlin的代码更易读,更容易理解
如果你不懂Kotlin的话 接下来只能靠背了
二丶解释一下什么是extension函数
extension函数用来对class的扩展,而不需要从class进行派生。
- 直接修改类的源代码进行功能扩充(当然前提是你可以修改源码,如果该类是别人写的或者说是库和框架提供的,这种方式直接就凉凉)
- 继承,在子类中添加相关方法
- 使用装饰模式,动态扩展对象的功能
三丶kotlin中的null safety是什么意思?
- 对于 Null 的检查是 Kotlin 的特点之一。强制你在编码过程中考虑变量是否可为 null,因此可以避免很多在 Java 中隐藏的 NullPointerException。
- null safety的特性是为了去除null pointer exception在实时运行中的出现风险。它也用来区分空引用和非空引用。
四丶为什么kotlin跟Java具有互相的操作性?
因为这两门语言,对于jvm来说没有区别。它们都是编译成byte code, 然后在jvm上运行的
五丶有哪些特点, 是kotlin有,但是Java没有?
-
null safety.
- Operator overloading.
- Coroutines.
- Range expressions.
- Smart casts.
- Companion objects.
六丶 kotlin中的抽象有什么作用?
抽象是面向对象编程中最重要的概念。抽象类的特点是,你知道这个类会有什么功能,但是你不知道它具体如何实现这些功能和实现哪些功能。
原文
https://segmentfault.com/a/1190000022290674