Kotlin面试问题整理

1、什么是kotlin

kotlin是由JetBrains开发的静态类型的编程语言,运行在JVM上。

 

2、为什么使用Kotlin语言

Kotlin语言简洁高效,没有那么多冗余代码,而且是空安全的。

 

3、解释一下extension函数

extension函数用来对class进行扩展,而不用从class派生

 

4、kotlin中的空安全null safety是什么意思

空安全的特性是为了避免空指针异常问题,也可以用来区分空引用和非空引用。

 

5、kotlin为什么和java具有互操作性

因为对于jvm来讲他们编译后都是一样的,编译后都是byte code在jvm上运行

 

6、kotlin中是否存在三元操作符

不存在

 

7、kotlin中如何声明一个变量

var name: String

 

8、kotlin当中有多少构造函数

两种,一种是primary构造函数,一种是secondary构造函数

 

9、说一下kotlin中对于Java.io.file的扩展方法

bufferedReader,readBytes,readText,forEachLine,readLines

 

10、kotlin如何处理空异常

使用elvis操作符处理空异常 ?: , ?. 

 

11、有哪些特点,kotlin有而java没有

null safety,operator overloading,coroutines, range expressions, smart cast,
compaion object

 

12、kotlin中数据类的作用

数据类包含基本的数据类型,但是它不包含任何功能函数

 

13、可以把java代码转换成kotlin代码吗

可以在AndroidStudio或者JetBrains当中转换

 

14、kotlin允许macros吗

kotlin不支持宏

 

15、kotlin类的缺省行为

kotlin缺省是final的。因为kotlin支持多重类继承,开放类代价要比final类高很多

 

16、kotlin是否支持原始数据类型

kotlin不支持原始数据类型

 

17、什么是range操作符

range操作符用来遍历一个范围,用两个点表示

for(i in 1..5)

    print(i)

 

18、kotlin对标准的java库和类提供额外的功能吗

kotlin程序是跑在标准的java虚拟机上的,所以kotlin和java在这一层级是没有区别的,java也可以直接在kotlin程序中运行

 

19、在kotlin当中定义一个volatile变量

volatile var x: Long? = null

 

20、kotlin中的抽象有什么作用

抽象是面向对象编程最重要的概念。抽象类的特点:你知道这个类会有什么功能,但是不知道如何实现这些功能和具体实现哪些功能。

 

21、kotlin当中如何比较两个字符串

(1)==

(2).equals(Any?)

 

22、下面这段代码干什么用

bar {

System.out.println("1111")

}

bar作为一个函数,正在接收一个表达式作为参数,这个表达式打印一行字符串

 

23、kotlin高阶函数

 

技术
©2019-2020 Toolsou All rights reserved,
macOS Big Sur无法完成安装 Big Sur为什么安装不了?Pandas与openpyxl库的超强结合,再见,Excel!2021-06-03一个人不是生来就要被打败的关于linux 命令“iptables -F”,不要轻易执行随机数的生成+猜数字游戏OpenCV python 模板匹配(多匹配)Python 引用cfg类型的配置文件(configparser)(telnetlib的使用方法)navicat运行sql文件时错误JVM老年代垃圾回收Full GCplc和单片机哪个更有前途?为什么本科生都不搞plc?