回调函数就是一个通过函数指针调用的函数。如果你把函数的指针(地址)作为参数传递给另一个函数,当这个指针被用为调用它所指向的函数时,我们就说这是回调函数。回调函数不是由该函数的实现方直接调用,而是在特定的事件或条件发生时由另外的一方调用的,用于对该事件或条件进行响应。 (引用自百度百科 )
众所周知,java语言是没有指针的(事实上,引用本身就是指针的另一种形式),因此回调的实现形式与C/C++不同。回调不是语言语法,只是函数的一种调用过程。
Java的回调是用过接口和内部类实现的,这又不得不说到闭包的概念,偶道行尚浅,讲不好。下面是一篇觉得不错的文章,推荐给大家。
当然,在Thinking in Java中也有比较明确的说明,可以参考。