軟件首頁 |  文章首頁
最新更新 軟件分類 設(shè)為首頁 加入收藏 聯(lián)系我們
當(dāng)前位置:首頁文章首頁 IT學(xué)院 Java

Java回調(diào)函數(shù)

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

      下面使用java回調(diào)函數(shù)來實(shí)現(xiàn)一個(gè)測(cè)試函數(shù)運(yùn)行時(shí)間的工具類:

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

  java 代碼

  public class TestObject {

  /**

  * 一個(gè)用來被測(cè)試的方法,進(jìn)行了一個(gè)比較耗時(shí)的循環(huán)

  */

  public static void testMethod(){

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

  }

  }

  /**

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

  */

  public void testTime(){

  long begin = System.currentTimeMillis(); //測(cè)試起始時(shí)間

  testMethod(); //測(cè)試方法

  long end = System.currentTimeMillis(); //測(cè)試結(jié)束時(shí)間

  System.out.println("[use time]:" + (end - begin)); //打印使用時(shí)間

  }

  public static void main(String[] args) {

  TestObject test=new TestObject();

  test.testTime();

  }

  }

  大家看到了testTime()方法,就只有"//測(cè)試方法"是需要改變的,下面我們來做一個(gè)函數(shù)實(shí)現(xiàn)相同功能但更靈活:

  首先定一個(gè)回調(diào)接口:

  java 代碼

  public interface CallBack {

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

  void execute();

  }

  然后再寫一個(gè)工具類:

  java 代碼

  public class Tools {

  /**

  * 測(cè)試函數(shù)使用時(shí)間,通過定義CallBack接口的execute方法

  * @param callBack

  */

  public void testTime(CallBack callBack) {

  long begin = System.currentTimeMillis(); //測(cè)試起始時(shí)間

  callBack.execute(); ///進(jìn)行回調(diào)操作

  long end = System.currentTimeMillis(); //測(cè)試結(jié)束時(shí)間

  System.out.println("[use time]:" + (end - begin)); //打印使用時(shí)間

  }

  public static void main(String[] args) {

  Tools tool = new Tools();

  tool.testTime(new CallBack(){

  //定義execute方法

  public void execute(){

  //這里可以加放一個(gè)或多個(gè)要測(cè)試運(yùn)行時(shí)間的方法

  TestObject.testMethod();

  }

  });

  }

  }

  大家看到,testTime()傳入定義callback接口的execute()方法就可以實(shí)現(xiàn)回調(diào)功能

文章評(píng)論

欄目導(dǎo)航

本類推薦文章

關(guān)于本站 | 網(wǎng)站幫助 | 廣告合作 | 下載聲明 | 友情連接 | 網(wǎng)站地圖
Copyright © 20098-2010 uzzf下載站. All Rights Reserved .