不断学习,做更好的自己!💪
| 视频号 | 优快云 | 简书 |
|---|---|---|
| 欢迎打开微信,关注我的视频号:程序员朵朵 | 点我 | 点我 |

1. 基础
==、===和equal的区别?
==和equal的作用相同,===比较内存地址
var和val的区别?
var:可变引用,具有可读和可写权限,值可变,类型不可变val:不可变引用,具有可读权限,值不可变,但是对象的属性可变
2. 函数
Kotlin 中默认参数的作用以及原理?
作用:配合 @JavaOverloads 可以解决Java调用Kotlin函数重载的问题。
原理:Kotlin 编译的默认参数是被编译到调用的函数中的,所以默认参数改变的时候,是需要重新编译这个函数的。
Kotlin 中顶层函数的原理
顶层函数实质就是 Java 中的静态函数,可以通过 Kotlin 中的 @Jvm:fileName 自动生成对应的 Java 调用类名。
中缀函数是什么?注意点?
中缀函数需要是用infix关键字修饰,如downTo:
public infix fun Int.downTo(to: Int): IntProgression {
return IntProgression.fromClosedRange(this, to, -1)
}
注意点是函数的参数只能有一个,函数的参与者只能有两个。
解构函数的本质?
解构声明将对象中的所有属性,解构成一组属性变量,而且这些变量可以单独使用,可以单数使用的原因是通过获取对应的component()方法对应着类中每个属性的值,这些属性的值被存储在局部变量中,所以解构声明的实质是局部变量。
扩展函数的本质?
扩展函数的本质就是对应Java中的静态函数,这个静态函数参数为接受者类型的对象,然后利用这个对象去访问对象中的属性和成员方法,最后返回这个对象的本身。
扩展函数和成员函数的区别?
- 实质不同:扩展函数实质是静态函数,是外部函数,成员函数是内部函数。
- 权限不同:扩展函数访问不了私有的属性和成员方法,成员函数可以。
- 继承:扩展函数不可复写,成员函数可以复写。
3. 类、对象和接口
Kotlin 中常用的类的修饰符有哪些?

本文深入探讨Kotlin在面试中的关键知识点,包括基础语法、函数、类和接口、lambda表达式、类型系统及协程。强调var与val的区别、默认参数、中缀函数、解构声明、扩展函数、可见性修饰符、内部类以及协程的工作原理等,是准备Kotlin面试的实用指南。
最低0.47元/天 解锁文章
534

被折叠的 条评论
为什么被折叠?



