标准函数
-
with:接收两个参数,一个参数是任意类型的对象,另一个参数是一个Lambda表达式。with函数在Lambda表达式中提供第一个参数对象的上下文,并使用Lambda表达式中最后一行代码作为返回值返回。
val result = with(obj){ //这里是obj的上下文 "value"//with 函数的返回值 }
-
run:run函数并不会直接调用,而是在某个对象的基础上调用;其次run函数只接收一个Lambda表达式参数,并在表达式中提供调用对象的上下文,Lambda表达式最后一行同样作为结果返回。
val result = obj.run{ "value" }
-
apply:在某个对象上调用,接收一个Lambda参数,无法提供返回值,直接返回调用的对象本身
定义静态方法
- companion object{}代码块
- @JvmStatic注解,该注解只能加在单例类或companion object中的方法上
- 顶层方法:指那些没有定义在任何类中的方法,Kotlin会将所有顶层方法编译为静态方法。