軟件首頁 |  文章首頁
最新更新 軟件分類 設為首頁 加入收藏 聯系我們
當前位置:首頁文章首頁 IT學院 Java

Java回調函數

作者:東坡下載  來源:uzzf  發(fā)布時間:2010-10-14 11:28:52  點擊:

      下面使用java回調函數來實現一個測試函數運行時間的工具類:

  如果我們要測試一個類的方法的執(zhí)行時間,通常我們會這樣做:

  java 代碼

  public class TestObject {

  /**

  * 一個用來被測試的方法,進行了一個比較耗時的循環(huán)

  */

  public static void testMethod(){

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

  }

  }

  /**

  * 一個簡單的測試方法執(zhí)行時間的方法

  */

  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 {

  //執(zhí)行回調操作的方法

  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 .