Understanding object-oriented programming with JAVA - Budd, Timothy