An Introduction to Object-Oriented Programming With Java - C. Thomas Wu (McGraw Hill)