回调Callback讲得很晦涩,比较难以理解.从一个例子来看吧.
学习程序设计,大多由以下的经典输出程序开始:
public class HelloWorldWithCallback{
public static void main(String[] args){
HelloWorldWithCallback hello = new HelloWorldWithCallback();
System.out.println("Hello World!");
}
}
运行Run,控制台输出为:Hello World!.
下面的程序可以达到同样的效果:
1)先定义一个接口CallBackHelper.java
public interface CallBackClass{
public void println();
}
2)再定义一个类HelloWorldWithCallback.java,用到了前面定义的接口,如下:
public class HelloWorldWithCallback{
public static void main(String[] args){
HelloWorldWithCallback hello = new HelloWorldWithCallback();
hello.printMsg(new CallBackClass(){
public void println(){
System.out.println("Hello World in callback class!") ;
}
});
}
private void printMsg(CallBackClass caller){
caller.println();
}
}
运行Run该类,控制台输出为:Hello World in callback class!.
不知看了之后是否有所触动?请赐教一二...