一直以来,对大神使用的回调函数,一直表示很烦恼,不知其所云
今天简单的进行了整理
1,新建一个接口
public interface MyCallInterface {
public void printName();
}
2,新建一个类进行继承
public class Client implements MyCallInterface {
@Override
public void printName() {
Log.e(TAG, "printName: 11" );
}
}
3,写一个类,进行使用
public class Caller {
private MyCallInterface callInterface;
public Caller() {
}
public void setCallFunc(MyCallInterface callInterface) {
this.callInterface = callInterface;
}
public void call() {
callInterface.printName();
}
}
4,在主函数内进行调用
Caller caller = new Caller();
caller.setCallFunc(new Client());
caller.call();
这样就完成了回调函数的使用了,或者使用内部类的方法
Caller caller = new Caller();
caller.setCallFunc(new MyCallInterface() {
public void printName() {
Log.e("aa", "This is the client printName method" );
}
});
caller.call();
这样就可以实现接口的生成了,原来一直被这个匿名的内部类搞糊涂了,不知其所云