1 java回调机制:
首先解释java回调机制,对象能够携带一些信息,这些信息允许它在稍后的某个时刻调用初始的对象,如果回调是通过指针实现的,那么就只能寄希望程序员不会误用此指针,java更小心仔细,所以没有在语言中包括指针。
回调的价值在于它的灵活性-可以在运行时动态决定需要调用什么方法。
import static net.mindview.util.Print.*;
interface Incrementable {
void increment();
}
// Very simple to just implement the interface:
class Callee1 implements Incrementable {
private int i = 0;
public void increment() {
i++;
print(i);
}
}
class Caller {
private Incrementable callbackReference;
Caller(Incrementable cbh) { callbackReference = cbh; }
void go() { callbackReference.increment(); }
}
public class Callbacks {
public static void main(String[] args) {
Callee1 c1 = new Callee1();
Caller caller1 = new Caller(c1);
caller1.go();
caller1.go();
}
}
Caller的构造器需要一个Incrementable的引用作为参数(可以在任意时刻捕获回调的引用),然后再以后的某个时刻,对象 可以使用此引用回调Callee类。
2 观察者模式与回调机制的联系:
首先解释观察者模式:在对象之间定义一对多的依赖,这样一来,当一个对象改变状态,依赖它的对象都会收到通知,并自动更新。
我们上例的回调机制可以把Caller作为一个主题(被观察者),Callee1作为观察者,当Caller调用go()时,通知Callee1的increment()方法改变状态,当然上个例子只是一对一的依赖,我们可以把回调机制是观察者模式的一种变体。
分享到:
相关推荐
Java 观察者模式的浅析 简单地说,观察者模式定义了一个一对多的依赖关系,让一个或多个观察者对象监察一个主题对象。这样一个主题对象在状态上的变化能够通知所有的依赖于此对象的那些观察者对象,使这些观察者...
浅析Java设计模式【1】——观察者!
观察者模式的浅析
浅析Java异常处理机制.pdf
Java 观察者模式的浅析 Java 观察者模式的浅析 Java 观察者模式的浅析
浅析Java设计模式【3】——代理.pdf
异常处理是Java语言的重要机制,正确、合理地处理异常对系统的健壮性和稳定性提供了强有力的支持。异常的处理主要包括捕捉异常、程序流程的跳转和异常处理语句块的定义等。
浅析JAVA之垃圾回收机制.doc
浅析JAVA代理模式.pdf
浅析JavaScript回调函数应用_.docx
浅析Java卡应用执行机制及虚拟机能效优化.pdf
先介绍下回调机制原理。 回调函数 回调函数就是一个通过函数指针调用的函数。如果你把函数的指针(地址)作为参数传递给另一个函数,当这个指针被用为调用它所指向的函数时,我们就说这是回调函数。回调函数不是由该...
浅析java常用的设计模式.doc
浅析Java智能卡的应用与开发.pdf
浅析Java语言中的异常处理机制
浅析Java语言中的异常处理机制.pdf
浅析Java设计模式【2】——适配器