扩展函数 , 可以在 不修改 原有类 的情况下 增加类的功能 ;
Kotlin 中如果类 没有被 open 关键字修饰 , 则该类 不能被继承 , 如果想要扩展该类 , 可以使用 扩展函数 ;
扩展函数...超类中定义了扩展函数 , 则在整个项目中 , 该扩展函数都有效 ;
这就导致了 Kotlin 的框架非常灵活 , 使用别人的 SDK 时会发现 为各种现有类定义的 扩展函数 ;
代码示例 : 在下面的代码中...----
如果 扩展函数 使用 private 修饰 , 则该扩展函数 只在该 Kotlin 代码文件中有效 , 在其它的 Kotlin 代码中就无法调用了 ;
代码示例 :
在 Hello.kt 代码中..., 使用 private 定义了 Any 超类的扩展函数 , 在本代码中的 main 函数中调用该扩展函数是有效的 ;
private fun Any.printSelf() {
println..., Kotlin 编译器直接将 inline 内联函数 的 函数体 直接拷贝到 使用位置 ; 内联函数 类似于 C 语言中的 预编译指令 宏定义 , 在编译时直接替换拷贝宏定义内容 ; Kotlin