回调函数

 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
回调函数(callback method)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

<0>./**
* 1. 简而言之,回调函数就是一个通过函数指针调用的函数
* 2. 回调函数,顾名思义,就是使用者自己定义一个函数,使用者自己实现这个函数的程序内容,
* 然后把这个函数作为参数传入别人(或系统)的函数中,由别人(或系统)的函数在运行时来调用的函数。函数是你实现的,但由别人(或系统)的函数在运行时通过参数传递的方式调用,这就是回调函数。

* 3. 简单的说,就是由别人的函数运行期间来回调你实现的函数。

* 4. 常见的例子是这样的:使用者在系统中调用一个系统函数,然后这个系统函数再回调使用者自己定义的一个函数。
*
*/

1.在很多其他语言(C++)中, 通过 传递<函数名参数> --> 回调

2.在Java中(Java是面向对象的),Java将某个 <类的对象> 传递给 <定时器Timer>,Timer 调用 这个对象的方法;

@当然该类,必须 implements ActionListener 接口 中的 actionPerformed() //actionPerformed() --> 真正的 <回调函数>
 1 package com.test;
2
3 import java.awt.Toolkit;
4 import java.awt.event.ActionEvent;
5 import java.awt.event.ActionListener;
6 import java.util.Date;
7
8 import javax.swing.JOptionPane;
9 import javax.swing.Timer;
10
11 public class CallBack_TimerTest {
12
13 public static void main(String[] args) {
14
15 ActionListener listener = new TimePrinter();
16
17 //每隔1秒,调用一次 TimePrinter 实现的 actionPerformed()
18 Timer t = new Timer(1000, listener);
19
20 //启动Timer
21 t.start();
22
23 JOptionPane.showMessageDialog(null, "Quit?");
24
25 //终止当前运行的Java VM
26 System.exit(0);
27
28 }
29
30 }
31
32 //一个 XX.java中 只能有一个 public class
33 class TimePrinter implements ActionListener {
34
35 @Override
36 public void actionPerformed(ActionEvent e) {
37
38 Date now = new Date();
39 System.out.println("time is " + now);
40 Toolkit.getDefaultToolkit().beep();
41 }
42
43 }




我在IBM工作,可以为大家内部推荐IBM各种职位 IBM全球职位尽在以下链接(请在浏览器中打开,QQ/微信 会阻止): http://ibmreferrals.com/ 很乐意为感兴趣的小伙伴分享:我的面试经验^_^ 如需咨询,请邮件发送以下邮箱,有问必回 1026096425@qq.com
原文地址:https://www.cnblogs.com/jackydalong/p/2408428.html