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函式非同步
- 回撥函式函式
- JavaScript 回撥函式JavaScript函式
- JavaScript回撥函式JavaScript函式
- JS—回撥函式JS函式
- 回撥函式(CallBack)函式
- [JS]回撥函式和回撥地獄JS函式
- 函式指標&回撥函式Callback函式指標
- 回撥函式 與 函式閉包函式
- 函式回撥(C++)函式C++
- 回撥函式的作用函式
- Python/OpenCV:回撥函式PythonOpenCV函式
- TLS回撥函式(Note)TLS函式
- JS之回撥函式(callback)JS函式
- C++回撥函式 用法C++函式
- 回撥函式的理解(一)函式
- 【知識點】inline函式、回撥函式、普通函式inline函式
- setInterval 回撥函式傳引數函式
- js 徹底理解回撥函式JS函式
- 深入理解 JavaScript 回撥函式JavaScript函式
- C++中的回撥函式C++函式
- 函式指標的重要用途——回撥函式函式指標
- Python技法3:匿名函式、回撥函式和高階函式Python函式
- C語言函式指標與回撥用函式C語言函式指標
- JavaScript:鉤子函式與回撥函式的區別JavaScript函式
- C 語言回撥函式詳解函式
- Fastadmin fast.api.open回撥函式ASTAPI函式
- 回撥函式的作用與意義函式
- ajax 下載Excel 新增回撥函式Excel函式
- JavaScript回撥函式的高手指南JavaScript函式
- 【不在混淆的C】指標函式、函式指標、回撥函式指標函式
- 關於 js 中的回撥函式 callbackJS函式
- 事實上,回撥函式還不錯!!函式
- 聊一聊Vue中的回撥函式Vue函式
- jQuery 原始碼學習 (三) 回撥函式jQuery原始碼函式
- 1.3 - Laravel 5.6 - Callbacks 回撥函式機制Laravel函式
- Swoole 回撥函式的註冊與呼叫函式