OBJECT-ORIENTED SOFTWARE DEVELOPMENT USING JAVA - Jia Xiaoping (Addison-Wesley, 2003)