Android面试Kotlin问题整理

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高阶函数

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值