学习自Java 回调函数
用一个生活中的例子:假设公司leader安排你做一件事情,这件事情需要花费一些时间去做,leader肯定不能看着你做完,需要你做完后通知他。
这个就可以用到回调
新建3个类,Manager,Personel ,Main
Java 回调函数学习个人记录
Manager类是个模拟总经理的类,当该类的对象被造出来后就会通过Personnel的对象去执行Personnel中的doSomething方法告诉员工做些什么。
Java 回调函数学习个人记录
总经理通过调用Personnel中的doSomething方法告诉员工该做些什么,当员工做完后就通过Manager中的phoneCall方法通知总经理结果
Java 回调函数学习个人记录
上面的demo有一个问题,如果同时有主任,主管,总经理同时发任务过来呢?都要求完成任务后电话通知,那每个类都要一个类似phoneCall的方法。这时,考虑到面向对象的思想,就可以把这个回调方法抽象出来作为一个独立的接口,同时还体现了多态的思想。(多态就是同一个接口,使用不同的实例而执行不同操作,如图所示:)
于是建立一个接口Callback接口:
Java 回调函数学习个人记录
Manager类只需要实现Callback接口即可
Java 回调函数学习个人记录
Personel类中将manager换位callback接口,
Java 回调函数学习个人记录
leader类也类似Manager类
Java 回调函数学习个人记录
主类也类似
Java 回调函数学习个人记录

相关文章: