函数作为参数传递
//创建一个方法,该方法传递的是一个函数 f,Unit表示该函数函数不需要返回任何有效值
fun uiThread(f:()->Unit){
handler.post { f() }
}
//下面这种和上面达到的小姑是相同的;都是handler执行f方法体
fun uiThreadMethod(f:()->Unit){
handler.post(f)
}
广泛使用的by lazy 和 object companition
companion object {
val handler by lazy {
Handler(Looper.getMainLooper())
}
}
//函数
fun uiThread(f:()->Unit){
handler.post { f() }
}
- by lazy 用来初始化当前需要用到的对象和实例;用val修饰
- 在java中使用static关键字来修饰静态方法,静态方法可以通过类名.方法名的形式来调用[这在单例中提现的很明显]
- kotlin中使用 object 来修饰静态类,被修饰的类可以通过类名.方法名的方式来调用该类中的方法
- kotlin中使用comapnion object 来修饰静态方法,可以通过类名.方法名的方式调用