package com.liu.callBack;
public interface CallBackInterface {
/**
* 回调接口函数
*
*/
public void CallBackFunc();
}
package com.liu.callBack;
public class CallBackInterfaceImpI implements CallBackInterface {
// 内部参数
private Object[] obj;
// 初始化参数
public CallBackInterfaceImpI(Object[] obj1) {
obj = obj1;
}
/**
* 回调函数
*/
public void CallBackFunc() {
// TODO Auto-generated method stub
String s1 = (String) obj[0];
System.out.println("Print in Call Back function:" + s1);
}
}
package com.liu.callBack;
public class CallBackTest {
public static void main(String[] args) {
// new a main Object
CallBackTest cbt = new CallBackTest();
// create a interface,类型转化
CallBackInterface ci = new CallBackInterfaceImpI(
new Object[] { "hello bob" });
// call back
cbt.CallCallBackFunc(ci);
ci.CallBackFunc();//这句话也通用可以实现其效果,为什么要这么复杂再经过转换呢,有什么好处呢。。。。
//^_^,下面的一种方法就可以知道其好出了。
}
/**
*
* @param cbi
* 回调函数
*/
public void CallCallBackFunc(CallBackInterface cbi) {
cbi.CallBackFunc();
}
}