</pre><pre name="code" class="java">Caller类package function;
// 所谓的回调,就是程序员A写了一段程序(程序a),其中预留有回调函数接口,并封装好了该程序。程序员B要让a调用自己的程序b中的一个方法,于是,他通过a中的接口///回调自己b中的方法。
//程序猿a写了一段程序a,预留了回调函数接口
//程序员B要让程序猿a调用自己的程序b中的一个方法
public class Caller {
private MyCall callInterface;
public Caller()
{
}
public void setCallfunc(MyCall callInterface){
this.callInterface=callInterface;
}
public void call()
{
callInterface.printName();
}
}
Client类
package function;
//定义程序猿b写的程序b
public class Client implements MyCall{
@Override
public void printName() {
System.out.println("this is client");
}
} MyCall类package function;<pre name="code" class="java">
//程序猿a的接口public interface MyCall {public void printName();} Text类
package function;
public class Text {
public static void main(String[] args) {
Caller caller=new Caller();
caller.setCallfunc(new Client());
caller.call();
}
}或匿名类(把Client类取消)
Text2类
package function;
public class Text {
public static void main(String[] args) {
Caller caller=new Caller();
caller.setCallfunc(new MyCall(){
public void printName(){
System.out.println(" this is the client");
}
});
caller.call();
}
}
本文介绍了一个简单的Java回调机制实现案例。通过定义接口MyCall及其实现类Client,演示了如何在一个类(Caller)中调用另一个类的方法。此外,还展示了如何使用匿名内部类来实现相同的功能。
755

被折叠的 条评论
为什么被折叠?



