kotlin支持扩展函数及扩展属性,类装饰器模式,扩展内容一般建议单独维护,使用时只需要在头部导入包(import package)即可。
扩展函数
扩展函数可以在不继承类的情况下,为类添加新的方法。
扩展函数只是能够让变量点操作该函数。扩展函数如果跟原内部函数重名,则优先使用原内部函数,即不能做到override扩展函数中可以使用this关键字访问变量
fun Int.add10(): Int { //为Int添加10
return this + 10 //this即为变量
}
fun foo6() {
var i: Int = 10
System.out.println("${i.add10()}") //输出20
}
扩展属性
扩展属性可以理解为扩展类属性的getter与setter方法。
//选自官方文档中的demo
val <T> List<T>.lastIndex: Int
get() = size - 1
x