Observer模式在Java中是非常成功的。Java中的GUI系统(The graphical user interface systems)AWT和Swing,再加上那些使用事件和监听器的地方,都是建立在Observer模式上的。另外,在java.util中还有一个Observer接口和一个Observable类来帮助建立Observer模式。然而,还有另一个容易被开发人员忽略的类:java.util中的EventObject类。
然而EventObject并不是一个特殊的类,它为开发者提供了一个source属性,一个getSource方法,和一个带有事件源对象的构造器,也就是说它只管理了一个单独的变量。它也具有和Marker接口类似的模式。EventObject不是一个接口,但是它将一个类标记为一种类型,正好类似于Marker接口。
使用EventObject将提供附加的方式帮助组织和构建类。例外,未知的代码也可以基于EventObject类型。使用这个类的开发者将会获得这方面的好处。