[实战]java回调函数(转载http:kidult.javaeye.comblog148)

xiaoxiao2026-03-17  6

下面使用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()方法就可以实现回调功能 相关资源:敏捷开发V1.0.pptx
转载请注明原文地址: https://www.6miu.com/read-5046060.html

最新回复(0)