Object-oriented programming with Java an introduction - Barnes, David J. (Prentice Hall, 2000)