public class demo5_扩展函数 {
@Test
fun main() {
//Kotlin的扩展函数可以让你作为一个类成员进行调用的函数。这样可以很方便的扩展一个已经存在的类
Jump().test()
val doubble = Jump().doubble()
println(doubble)
}
}
//原本类中没有doubleJump方法
class Jump {
fun test():Int{return 1}
}
//扩展方法定义,就是在方法的前面加类的前缀
fun Jump.doubble():String{
return "doubleJump"
}
拓展Sting属性 val String.lastchar:Char get() = this.get(length-1)
println("123555啊".lastchar)// 输出:啊
let扩展函数 类后面加上? 代表参数可能为空 使用的时候注意判空
fun main() {
testLet("ding") //输出 android ding
}
fun testLet(str:String?){
// str.let {
// val str2 = "android"
// println(str2+str)
// }
//判空方法 当str为空 则不会触发闭包里面的逻辑
str?.let {
val str2 = "android"
println(str2+str)
}
}
run 扩展函数 返回值为最后一行的值或者指定的return的表达式 , 在run函数中可以直接访问实例的公有属性和方法