JAVA的CALLBACK通过接口来实现
1.class A,class B
2.class A实现接口Operate
3.class B拥有一个参数为operate接口类型的函数test(Operate o)
4.class A运行时调用class B中test函数,以自身传入参数
5.class B已取得A,就可以随时回调A所实现的operate接口中的方法
pubilc interface IParent{
public void giveBag();
}
public class Parent implement IParent{
Child child = new Child();
public void letChildGoSchool(){
child.goSchool(this);
}
public void giveBag(){
System.out.println("give a bag to child for school!");
}
}
public class Child{
public void goSchool(IParent parent){
parent.giveBag();
}
}
另:
- 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();
- }
- });
- }
- }