I examine this material in a more Java-centric fashion in Chapter 12 of my book, Understanding Object-Oriented Programming with Java, published by Addison-Wesley in 1998. The text of this chapter is available here both as postscript and as pdf. (Note, these files were produced from the original Latex sources, and differ in appearance from the text in the book).