Java : how to program - Deitel, Paul J. (Deitel how to program series, 2010)