首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > J2SE开发 >

能否实现自定义的回调函数 ?解决办法

2012-01-18 
能否实现自定义的回调函数 ??记得File类里有个list()方法参数是实现了FilenameFilter的类FilenameFilter里

能否实现自定义的回调函数 ??
记得   File   类里有个list()方法   参数是实现了   FilenameFilter的类
  FilenameFilter   里只有一个accepti方法,它可以在list()执行的时候自动调用(也就是回调)

我也想自己写个这样的方法,但是照着写了,却实现不了回调,
高手有没有知道如何写个自己的回调函数的???

[解决办法]
不明白楼主指的“自动调用”是什么意思?

accept()是被list()调用的,你看看list()的源码就知道了,其中有
if (filter.accept(this, names[i]))
这就是在调用accept()方法。

虽然接口中的方法是必须实现的,但它们不一定都会被调用(虽然从设计上看是这样)。做为主调函数,你可以要求你的参数对象实现这些方法,但调不调用它们取决于你的需要。
[解决办法]
回调函数是由系统自己调用的,综合楼上分析,貌似accept不是回调函数吧,普通的函数而已,提供了一个接口,由你自己去定义list的时候那些是可以被 "accept ",跟多态的意思差不多

热点排行