摘要:
闭包是一种能背调用的对象,他保存了创建它的作用的信息,Java中可以把非静态内部类当成面向对象领域的闭包。
回调就是某个方法一旦获得内部内对象的引用后,就可以在合适的时候反过来调用外部类的实例方法。
假设有这样的一个场景:
一个人,首先他是一个程序员,他的工作是敲代码。但是他除了是以为程序员之外,他还是一名教师,他的工作还可以在讲台上讲课。
那么怎么来实现这个场景呢?
首先,我们可以定义两个类(或者接口),分别叫Teacher 和 Programmer ; 然后定义另一个类叫TeacherProgrammer,这个类继承了Teacher和Programmer,可以使用一个内部类通过闭包和回调来实现两种不同的工作方式。
下面是一种实现的方式: 阅读全文