函数类型的使用 理解成等同java的接口 和接口实现的使用
1.定义
var receivedTitleSub: ((title:String) ->Unit)? =null
2.抽象使用
receivedTitleSub?.let {
it("我是抽象类的调用")
}
3.实现类的回调
{ title->
回调的位置 得到 title = "我是抽象类的调用"
}
对比java
1.接口定义
Meaningless meaningless = null;
public interface Meaningless{
void receivedTitleSub(String title);
}
2.抽象使用
meaningless.receivedTitleSub("我是抽象类的调用")
3.使用的时候传入实现类
new Meaningless(){
@Override
public void receivedTitleSub(String title) {
回调的位置 得到 title = "我是抽象类的调用"
}
};
lambda 简化一下 就变成了如下
title -> {
回调的位置 得到 title = "我是抽象类的调用"
}
网友评论