软件首页 |  文章首页
最新更新 软件分类 设为首页 加入收藏 联系我们
当前位置:首页文章首页 IT学院 Java

Java回调函数

作者:东坡下载  来源:uzzf  发布时间:2010-10-14 11:28:52  点击:

      下面使用java回调函数来实现一个测试函数运行时间的工具类:

  如果我们要测试一个类的方法的执行时间,通常我们会这样做:

  java 代码

  public class TestObject {

  /**

  * 一个用来被测试的方法,进行了一个比较耗时的循环

  */

  public static void testMethod(){

  for ( int i= 0 ; i< 100000000 ; i++){

  }

  }

  /**

  * 一个简单的测试方法执行时间的方法

  */

  public void testTime(){

  long begin = System.currentTimeMillis(); //测试起始时间

  testMethod(); //测试方法

  long end = System.currentTimeMillis(); //测试结束时间

  System.out.println("[use time]:" + (end - begin)); //打印使用时间

  }

  public static void main(String[] args) {

  TestObject test=new TestObject();

  test.testTime();

  }

  }

  大家看到了testTime()方法,就只有"//测试方法"是需要改变的,下面我们来做一个函数实现相同功能但更灵活:

  首先定一个回调接口:

  java 代码

  public interface CallBack {

  //执行回调操作的方法

  void execute();

  }

  然后再写一个工具类:

  java 代码

  public class Tools {

  /**

  * 测试函数使用时间,通过定义CallBack接口的execute方法

  * @param callBack

  */

  public void testTime(CallBack callBack) {

  long begin = System.currentTimeMillis(); //测试起始时间

  callBack.execute(); ///进行回调操作

  long end = System.currentTimeMillis(); //测试结束时间

  System.out.println("[use time]:" + (end - begin)); //打印使用时间

  }

  public static void main(String[] args) {

  Tools tool = new Tools();

  tool.testTime(new CallBack(){

  //定义execute方法

  public void execute(){

  //这里可以加放一个或多个要测试运行时间的方法

  TestObject.testMethod();

  }

  });

  }

  }

  大家看到,testTime()传入定义callback接口的execute()方法就可以实现回调功能

文章评论

本类推荐文章

关于本站 | 网站帮助 | 广告合作 | 下载声明 | 友情连接 | 网站地图
Copyright © 20098-2010 uzzf下载站. All Rights Reserved .