Object-oriented programming with Java - Holmes, Barry J. (Jonnes and Bartlett, 2001)