Understanding object-oriented programming with JAVA - BUDD Timothy (2000)