From the reviews of the second edition: Practitioners in procedural languages looking for a smooth introduction to Java , along with lecturers in object orientation, will definitely appreciate this book. ! aimed at students and software engineers wishing to learn object-oriented programming techniques. ! Each chapter ends with a summary and a set of exercises to emphasize or further develop a particular theme in the chapter. ! this book presents an excellent overview of object orientation; readers will find it well explained. It is a useful introduction to object-oriented software engineering. (Alexandre Bergel, Computing Reviews, Vol. 50 (1), January, 2009)