常规的方式实现匿名内部类
valueAnimator.addUpdateListener(object :AnimatorUpdateListener {
override fun onAnimationUpdate(animation: ValueAnimator?) {
currentPoint = animation?.animatedValue as Point
postInvalidate()
}
})
使用lambda后
valueAnimator.addUpdateListener { animation ->
currentPoint = animation?.animatedValue as Point
postInvalidate()
}
内部定义接口并回调
interface ICallback {
fun onSuccess(msg: String)
fun onFail(msg: String)
}
class NormalCallback {
var mCallback: ICallback? = null
fun setCallback(callback: ICallback) {
mCallback = callback
}
fun init() {
mCallback?.onSuccess("success message")
}
}
本文探讨了Kotlin中使用lambda表达式简化匿名内部类的实例,通过对比Java,还介绍了接口回调和自定义回调类的应用。重点在于展示两者在实现简洁性和代码可读性的提升。
737

被折叠的 条评论
为什么被折叠?



