不太明白,高手能不能解释一下

fuzhou
03-06-17 0 127


public class EventListener2 {
public EventListener2(EventSource eventSource) {

eventSource.registerListener(
new EventListener() {
public onEvent(Event e) {
eventReceived(e);
}
});
}

public onEvent(Event e) {
}
}




EventListener2 类和其类似代码清单 2 中的 EventListener 有同样的弊端:公布了对正在构造的对象的引用 ― 在这种情况下,是间接的 ― 另一个线程可以看见这个引用。如果打算创建 EventListener2 的子类,将会碰到同样的问题,即在子类构造函数完成之前会调用子类方法。