所谓回调,就是对象A调用另一对象B中的某个方法b,然后B又在某个时候反过来调用A中的某个函数c,对于B来说,这个c便叫做回调函数。
回调是一种双向调用模式,也就是说,被调用方在接口被调用时也会调用对方的接口.
下面以一个例子说明.
CallBack:
<!--<br />
<br />
Code highlighting produced by Actipro CodeHighlighter (freeware)<br />
http://www.CodeHighlighter.com/<br />
<br />
-->package org.hvp.test.callback;
public interface CallBack
{
void execute();
}
Tool:
<!--<br />
<br />
Code highlighting produced by Actipro CodeHighlighter (freeware)<br />
http://www.CodeHighlighter.com/<br />
<br />
-->
package org.hvp.test.callback;
public class Tools
{
public void test(CallBack callBack)
{
callBack.execute();
}
public static void main(String[] args)
{
Tools tool = new Tools();
tool.test(new CallBack()
{
public void execute()
{
System.out.println("回调
");
}
});
}
}
仔细想想,你会发现很简单的 ^o^
分享到:
相关推荐
我们需要获取其`SurfaceHolder`,然后在`SurfaceHolder.addCallback(SurfaceHolder.Callback callback)`中处理`surfaceCreated()`, `surfaceChanged()`, `surfaceDestroyed()`三个回调方法。在`surfaceChanged()`中...
GPIO.add_event_detect(27, GPIO.RISING, callback=my_callback_function) # 当引脚27由低变高时触发回调 def my_callback_function(channel): print(f"Interrupt detected on channel {channel}") ``` 6. **...
% GUI回调函数定义 function drawSin_Callback(hObject, eventdata, handles) x = linspace(0, 2*pi, 100); y = sin(x); plot(handles.axes1, x, y); set(handles.text1, 'String', 'plot(x, sin(x))'); end ...
这是一个标准的Windows API回调函数,需要遵循`LRESULT CALLBACK`的定义: ```cpp LRESULT CALLBACK KeyboardHookProc(int nCode, WPARAM wParam, LPARAM lParam) { if (nCode ) // 如果代码不为0,表示需要传递给...
我们可以创建一个`Intent`,设置其类型为`image/*`,然后通过`startActivityForResult()`启动,这样当用户选择图片后,会回调我们的`onActivityResult()`方法,我们在这个方法中可以获取到选中的图片路径。...