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