知识大全 Java的回调函数
Posted 函数
篇首语:知识是工具,而不是目的。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 Java的回调函数相关的知识,希望对你有一定的参考价值。
Java的回调函数 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!
讲到回调函数这个概念给大家普及下 所谓回调函数 就是指这个函数先在某处注册 而它将在稍后某个需要的时候被调用 比如在利用SDK 进行Windows编程的时候 我们需要注册一个WNDCLASS类 这个类中有这样一个参数lpfnWndProc 要进行消息处理 我们就要用处理消息的函数的指针给它赋值 消息处理函数什么时候被调用的?我们没有显式地在程序中看到啊 是OS调用的 这是SDK的试验方式 当然用的是过程式的语言C 可以通过传递函数的指针实现 C++中怎么来实现呢?当然 C++兼容C 用函数指针就可以 同时C++又提供了面向对象的机制 可不可以有不同的实现机制呢?当然!STL 中的functor(Function object)就可以用到回调上 比如对一个存放int数据的vector进行递减排序的话 我们可以这样进行 sort(vec begin() vec end() greater<int>()) greater<int>() 就是我们传递的一个匿名对象 它重载了函数调用运算符 () 我们没有显式地调用这个对象里面提供的函数 sort函数对对象里面的函数进行call back Java中要实现类似functor的功能 应该怎么办呢?Command模式可以帮上忙 Command模式看起来很简单 只要把mand封装到一个接口中就可以 Command模式是回调机制的一个面向对象的替代品 比如java io 中已经定义好的一个接口 public interface FilenameFilter boolean accept(File dir String name) 这个FilenameFilter就是Command 实现Command的类就是ConcreteCommand 这个接口所声明的操作 accept 就是看看目录dir中的文件name是否满足某种要求 如果满足就返回true 否则就返回false 这个要求是什么呢?你要对这个接口进行实现 比如我想看看这个文件的名称包含不包含指定的字符串 那么就可以定义下面的类 class DirFilter implements FilenameFilter private String afn; public DirFilter(String afn) this afn = afn; public boolean accept(File dir String name) String f = new File(name) getName() return f indexOf(afn) != ; 怎么样使用它呢?File类中有这样一个方法 public String[] list(FilenameFilter filter) 因此 我们就可以这样做了 File file = new File( ) String[] list = file list(new DirFilter( wf )) 得到的list就是一个当然目录中所有包含字符串 wf 的文件名称的字符串数组 怎么样 看起来是不是和C++中的functor差不多呢? cha138/Article/program/Java/hx/201311/26476相关参考
知识大全 JavaScript回调(callback)函数概念自我理解及示例
JavaScript回调(callback)函数概念自我理解及示例 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一
在Java中实现回调过程 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 摘要: Java接
Java技巧:用Java实现回调例程 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 熟悉MSWi
一个类Callable不自己去调用自己的方法让其他类调用她(Callable)自身的方法(通过给其他类提供她自己的引用) 代码(一般javaGUI开发中添加按钮的点击事件)[java]viewp
Java中限时线程回调方式的实现 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 线程回调方式我们
Java中的闭包与回调 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 闭包是一个可调用的对象它记
Java使用回调和线程处理耗时响应过程[2] 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!&nbs
Java使用回调和线程处理耗时响应过程[1] 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!&nbs
Java终止函数深度分析 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! Java终止函数是什么?
Java封闭之构造函数 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! &nb