日出星辰

Java回调函数使用

     正常情况下开发人员使用已经定义好的API,这个过程叫Call。但是有时这样不能满足需求,就需要程序员注册自己的程序,然后让事先定义好多API在合适的时候调用注册的方法,这叫CallBack。

“当通常大家说的回调函数一般就是按照别人的定好的接口规范写的,等待别人调用的函数,在C语言中,回调函数通常通过函数指针来传递;在Java中,通常就是编写另外一个类或类库的人规定一个接口,然后你来实现这个接口,然后把这个实现类的一个对象作为参数传给别人的程序,别人的程序必要时就会通过那个接口来调用你编写的函数。

    使用技巧:定一个接口,在接口中声明我们想调用的方法。

                    在另一个方法中注册刚定义的回调接口

package com.call;

public interface Callback {

	public void executeMethod();
}

-----------------------------------------------------

package com.call;

public class Tools {


	public void getTime(Callback call) {
		long start = System.currentTimeMillis();
		call.executeMethod();
		long end = System.currentTimeMillis();
		System.out.println("cost time=" + (end - start));
	}
}

---------------------------------------------

package com.call;
//测试执行方法消耗时间
public class Main {

	public static void main(String[] args) {

		Tools tool = new Tools();
		tool.getTime(new Callback() {
			public void executeMethod() {
				new Main().testMethod();
			}
		});

	}

	public void testMethod() {
		for (int i = 0; i < 10000; i++) {
			System.out.print("");
		}
	}

}

posted on 2011-08-16 16:14 日出星辰 阅读(2098) 评论(0)  编辑  收藏


只有注册用户登录后才能发表评论。


网站导航:
博客园   IT新闻   Chat2DB   C++博客   博问