Understanding object-oriented programming with JAVA - Budd, Timothy (Pearson education, Asia, 2000)