java回撥函式
下面使用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()方法,就只有"//測試方法"是需要改變的,下面我們來做一個函式實現相同功能但更靈活:首先定一個回撥介面:
public interface CallBack {
//執行回撥操作的方法
void execute();
}
然後再寫一個工具類:
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()方法就可以實現回撥功能相關文章
- java 回撥函式示例Java函式
- java回撥函式機制Java函式
- Java回撥函式的理解Java函式
- java回撥函式-非同步回撥-簡明講解Java函式非同步
- 回撥函式函式
- 回撥函式透徹理解Java函式Java
- JavaScript 回撥函式JavaScript函式
- JavaScript回撥函式JavaScript函式
- JS—回撥函式JS函式
- 動畫回撥函式動畫函式
- [JS]回撥函式和回撥地獄JS函式
- 回撥函式,求積函式函式
- 回撥函式 與 函式閉包函式
- 函式指標&回撥函式Callback函式指標
- 回撥函式的作用函式
- TLS回撥函式(Note)TLS函式
- Python回撥函式Python函式
- android回撥函式Android函式
- 函式回撥(C++)函式C++
- JS閉包函式和回撥函式JS函式
- C++回撥函式 用法C++函式
- 回撥函式的理解(一)函式
- Python/OpenCV:回撥函式PythonOpenCV函式
- JS之回撥函式(callback)JS函式
- js中的回撥函式JS函式
- js函式回撥錯誤JS函式
- c++回撥函式(下)C++函式
- C++回撥函式示例C++函式
- c#之回撥函式C#函式
- 回撥函式快速使用 (轉)函式
- 函式指標的重要用途——回撥函式函式指標
- Java設計模式-回撥函式和觀察者模式Java設計模式函式
- 深入理解 JavaScript 回撥函式JavaScript函式
- setInterval 回撥函式傳引數函式
- js 徹底理解回撥函式JS函式
- 第二章 回撥函式函式
- js 中的submit 回撥函式JSMIT函式
- delphi中回撥函式差異函式