扩展函数 , 可以在 不修改 原有类 的情况下 增加类的功能 ;
Kotlin 中如果类 没有被 open 关键字修饰 , 则该类 不能被继承 , 如果想要扩展该类 , 可以使用 扩展函数 ;
扩展函数...可以作用于 自定义的类 , 也可以作用于 系统自带的类 , 如 String , List , 等 标准库 API 类 ;
为 某个类 定义扩展函数 , 格式为 :
fun 类名.扩展函数名(参数列表...----
扩展函数 的特点 是 为 父类定义扩展函数 , 子类也可以调用该扩展函数 ;
为 Any 超类 定义 扩展函数 , 那么 所有的 Any 子类 都可以 调用该 扩展函数 ;
一旦在 Any...超类中定义了扩展函数 , 则在整个项目中 , 该扩展函数都有效 ;
这就导致了 Kotlin 的框架非常灵活 , 使用别人的 SDK 时会发现 为各种现有类定义的 扩展函数 ;
代码示例 : 在下面的代码中...----
如果 扩展函数 使用 private 修饰 , 则该扩展函数 只在该 Kotlin 代码文件中有效 , 在其它的 Kotlin 代码中就无法调用了 ;
代码示例 :
在 Hello.kt 代码中