Understanding object-oriented programming with Java - Budd, Tomothy A. (Addison-Wesley, 2000)